/*
	Theme Name: Koen Caris
	Theme URI: 
	Description: Thema voor Koen Caris
	Author: Emile Zeldenrust
	Author URI: https://www.emilezeldenrust.nl/
	Version: 1.0
	Tags: 
*/

* {
    padding: 0px;
    margin: 0px;
}

:root {
	--bg: #fff;
	--tekst: #000;
	--kleur1: #c44b1e;
	--kleur2: #198754;
	--kleur3: #0d6efd;
}

body {
	position: relative;
	height: 100vh;
	height: 100dvh; /* Oplossing voor Safari iOS bug */
	background-color: #000;
	background-image: url('images/bg.jpg');
	background-size: cover;
	background-position: center center;
	color: var(--tekst);
	font-size: 15px;
	line-height: 1.7;
	font-family: 'Noto Sans', sans-serif;
}

div {
	display: block;
}

a img {
	border: none;
	outline: none;
}

:focus, a:focus {
    outline: none;
}

::-webkit-scrollbar {
	display: none;
}

/* ==========================================================================
   HEADER
   ========================================================================== */

header {
	position: relative;
}

/* ==========================================================================
   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: 50px;
	font-weight: normal;
	margin: 0 0 10px 0;
	font-family: 'Square Peg', cursive;
}

h1.entry-title {
	width: fit-content;
	transform: rotate(-2deg);
}

h2 {
	font-size: 32px;
	font-weight: normal;
	margin: 0 0 10px 0;
	font-family: 'Playfair Display', serif;
}

h3 {
	font-size: 28px;
	margin: 0 0 10px 0;
	font-family: 'Playfair Display', serif;
}

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: 30px;
	margin: 20px 8px 0;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.entry-content i:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

/* ==========================================================================
   ALIGNMENT
   ========================================================================== */

div.spacer {
	width: 100%;
	clear: both;
}

/* ==========================================================================
   CONTENT
   ========================================================================== */

#content {
	position: relative;
	height: calc(100% - 52px);
	margin-top: 5px;
}

#content > .row {
	position: relative;
	height: 100%;
}

.main-col {
	width: 70vw;
	background-color: var(--bg);
}

#home {
	width: 50vw;
	padding: 0;
	background-color: transparent;
	overflow: visible;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#home > img {
	position: absolute;
	width: 23.9vw;
	height: auto;
	margin: -6.7vw 0 0 -16.9vw;
}

#home h1 {
	font-family: 'Playfair Display', serif;
	color: var(--bg);
	font-size: 2vw;
	letter-spacing: 0.2vw;
	margin: -12vw 0 0 1vw;
}

#home h2 {
	color: var(--bg);
	font-size: 1.4vw;
	margin: 3vw 0 0 3vw;
}

#nieuws {
	width: 30vw;
	padding: 2vw 1vw;
	clip-path: polygon(0 0, 100% 4%, 90% 100%, 6% 90%);
}

#nieuws .inhoud {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#theater {
	clip-path: polygon(1% 3%, 100% 0, 98% 99%, 0 100%);
}

#proza {
	clip-path: polygon(1% 3%, 97% 7%, 100% 100%, 3% 95%);
}

#over-mij {
	clip-path: polygon(0 0, 100% 4%, 97% 100%, 2% 94%);
}

#contact {
	clip-path: polygon(0 1%, 95% 10%, 90% 90%, 6% 96%);
}

.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
   ========================================================================== */

.project {
	border: 10px solid var(--bg);
	padding: 0;
}

.project > a {
	position: relative;
	display: block;
	text-decoration: none;
	overflow: hidden;
	-webkit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.project > a:hover {
	-webkit-transform: scale(1.02);
	transform: scale(1.02);
}

.project .plaatje {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 141%;
	overflow: hidden;
	background-color: var(--kleur1);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.project > a h2 {
	font-size: 1.4vw;
	font-weight: normal;
	margin: 0.4vw 0 0 0;
	text-align: center;
	color: var(--tekst);
}

.project > a h3 {
	text-align: center;
	font-size: 1vw;
	font-weight: normal;
	color: var(--tekst);
	margin: 0.2vw 0 0 0;
}

.project > a h3:first-of-type {
	font-family: 'Noto Sans', sans-serif;
	font-size: 0.8vw;
	margin-top: 0.5vw;
}

.proza a {
	display: flex;
	align-items: center;
}

.project.proza > a:hover {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.proza a > img {
	width: 35%;
	margin: 1% 5%;
	-webkit-transform: rotate(3deg);
	transform: rotate(3deg);
}

.proza .prozainhoud {
	width: 55%;
	color: var(--tekst);
}

.meerknop {
	float: right;
	border: none;
	display: inline-block;
	padding: 7px 14px;
	background-color: var(--kleur1);
	color: var(--bg);
	font-weight: bold;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.meerknop:hover {
	background-color: #b0431c;
}

.binnenkort > a > img {
	width: 100%;
	height: auto;
}

/* MODALS */

.modal-backdrop.show {
  opacity: 0.8;
}

@media (min-width: 576px) {
  .modal-dialog {
		max-width: calc(100% - 80px);
		margin: 40px auto;
  }
}
@media (min-width: 992px) {
  .modal-lg {
		max-width: calc(100% - 80px);
  }
}

.modal-content {
	-webkit-border-radius: 0;
	border-radius: 0;
	border: none;
	background-color: var(--bg);
	height: calc(100vh - 80px);
	overflow-y: auto;
}

.modal-header {
	border: none;
	flex-direction: column;
	align-items: center;
	padding: 16px 3vw 0 3vw;
}

.modal-header a.kruisje {
	position: absolute;
	right: 22px;
	top: 22px;
	font-size: 2vw;
	padding: 0.2vw 0.6vw;
	margin: 0;
	line-height: 1;
	outline: none;
	color: var(--tekst);
	text-shadow: none;
}

h2.modal-title {
	text-align: center;
}

h2.modal-title + h3 {
	font-family: 'Noto Sans', sans-serif;
	font-size: 16px;
	margin: 8px 0 0 0;
}

.modal-body {
	padding: 16px 3vw;
}

.modal-footer {
	border: none;
	padding: 0;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.wp-block-buttons div.wp-block-button {
	margin: 0 0 20px 0;
}

a.wp-block-button__link, a.wp-block-button__link:visited {
	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 {
	width: 101%;
	margin-bottom: 20px !important;
	gap: 0 !important;
}

.wp-block-gallery figure.wp-block-image {
	margin: 0 1% 1% 0 !important;
	flex-grow: 0 !important;
}

.wp-block-gallery.columns-1 figure.wp-block-image {
	width: 99% !important;
}

.wp-block-gallery.columns-2 figure.wp-block-image {
	width: 49% !important;
}

.wp-block-gallery.columns-3 figure.wp-block-image, .wp-block-gallery.columns-default figure.wp-block-image {
	width: 32.33% !important;
}

.wp-block-gallery.columns-4 figure.wp-block-image {
	width: 24% !important;
}

.wp-block-gallery.columns-5 figure.wp-block-image {
	width: 19% !important;
}

.wp-block-gallery.columns-6 figure.wp-block-image {
	width: 15.66% !important;
}

.wp-block-gallery.columns-7 figure.wp-block-image {
	width: 13.28% !important;
}

.wp-block-gallery.columns-8 figure.wp-block-image {
	width: 11.5% !important;
}

.wp-block-gallery figure.wp-block-image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	max-height: 100% !important;
	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.has-nested-images figure.wp-block-image figcaption {
	display: none;
}

.modal .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	display: block;
	text-align: left;
	font-family: 'Playfair Display', serif;
	font-weight: bold;
	font-size: 1vw;
	line-height: 1.4;
	padding: 0 1vw 0.7vw;
	pointer-events: none;
	max-height: 100%;
}

/* ==========================================================================
	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;
}

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 {
	text-align: center;
	display: none;
}

body > footer p {
	font-size: 10px;
	margin: 0;
}