@view-transition {
	navigation: auto;
}

:root {
	/* --colorBG: #20201f; */
	--colorBG: #1e2025;
    --colorBGMenu: #141518;
	--colorBGSpecial: #353539;
	--colorText: #f2f1ed;
	--colorSpecial: #de2327;
	--contentWidth: min(94vw, 1200px);
	interpolate-size: allow-keywords;
}

*, *::before, *::after {
	box-sizing: border-box;
	transition-behavior: allow-discrete;
	scroll-behavior: smooth;
}

html, body {
	width: 100%;
	height: 100%;
	background: var(--colorBG);
	color: var(--colorText);
	margin: 0px;
}

h1, h2, h3, .nav-item, .button {
    font-family: 'Oswald', 'Arial Black', sans-serif;
	text-transform: uppercase;
    font-weight: 500;
}

a {
	color: var(--colorText);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}


/* Voor alle overige, reguliere tekst */
body {
    font-family: 'Open Sans', 'Lato', sans-serif;
    font-weight: 400;
    color: var(--colorText);
}

nav {
	position: sticky;
    top: 0px;
    z-index: 10;
    background: var(--colorBGMenu);
}

nav input.hidden {
	position: absolute;
	width: 0px;
	height: 0px;
	opacity: 0px;
	pointer-events: none;
	appearance: none;
}

img {
	max-width: 100%;
	display: block;
}

.bodywrapper {
	height: 100%;
	/* display: grid; */
    /* grid-template-rows: auto 1fr auto; */
}

.content {
	width: var(--contentWidth);
	margin-inline: auto;
}

nav .content {
    display: grid;
    grid-template-columns: auto 1fr;
	position: relative;
}

.menuswitch {
    display: flex;
    align-items: center;
    justify-content: flex-end;
	@media (min-width: 900px) {
		display: none;
	}
}

.menuswitch label {
    padding: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
}
nav img {
    height: 6rem;
    padding-block: 1rem;
}

nav ul {
	position: absolute;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
	top: 100%;
	flex-direction: column;
    z-index: 10;
    width: 100%;
    padding-inline: 0px;
    background: var(--colorBG);
	margin-block: 0px;
    height: 0px;
    overflow: hidden;
	transition: 250ms height;
    transition-behavior: allow-discrete;
	@media (min-width: 900px) {
		position: static;
		flex-direction: row;
		width: auto;
		background: transparent;
		gap: 4rem;
		height: auto;
	}
}

nav input.hidden:checked + ul {
	height: auto;
}

nav li a {
    padding-block: 1rem;
    padding-inline: 1rem;
    text-transform: uppercase;
    font-weight: 600;
	display: block;
	border-bottom: 2px solid transparent;
	@media (min-width: 900px) {
		padding-block: 0.25rem;
		padding-inline: 0px;
	}
}

nav a.active {
    color: var(--colorSpecial);
}

nav ul a:hover {
	text-decoration: none;
	background: var(--colorBGSpecial);
	@media (min-width: 900px) {
		background: transparent;
		border-bottom: 2px solid var(--colorSpecial);
	}
}

nav li {
    width: 100%;
    text-align: right;
	@media (min-width: 900px) {
		width: auto;
		text-align: center;
	}
}

main {
    /* overflow: auto; */
	min-height: calc(100vh - 10rem);
}

main .content {
    display: grid;
    min-height: 100%;
    align-content: space-evenly;
    gap: 1rem;
	padding-block: 1rem;
}

.hero {
    display: grid;
    align-items: end;
	@media (min-width: 1200px) {
		margin-block: 2rem;
	}
}

.heroimage {
    position: relative;
    isolation: isolate;
	grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.heroimage::after {
    background: linear-gradient(90deg, var(--colorBG) 25%, transparent 50%, transparent 75%, var(--colorBG));
    content: "";
    position: absolute;
    inset: 0px;
    z-index: 1;
}

.heroimage img {
    min-height: 16rem;
    object-fit: cover;
}

.herocontent {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    z-index: 2;
	padding-bottom: 2rem;
}

.herocontent a {
    text-transform: uppercase;
    font-weight: 600;
    background: var(--colorBGSpecial);
    padding: 1rem 2rem;
    display: inline-block;
    border: 2px solid var(--colorBGSpecial);
}

.herocontent a:hover {
	text-decoration: none;
    border: 2px solid var(--colorSpecial);
}

.imgtxt3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    /* gap: 0.5rem; */
	@media (min-width: 750px) {
		grid-template-columns: 1fr 1fr 1fr;
	}
	@media (min-width: 1200px) {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
}

.imgtxt3 h3 {
    margin-top: 0px;
}

.imgtxt3 > :nth-child(2),
.imgtxt3 > :nth-child(4),
.imgtxt3 > :nth-child(6) {
	padding-inline: 1rem;
}

@media (max-width: 750px) {
	.imgtxt3 > :nth-child(3) {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
	.imgtxt3 > :nth-child(4) {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	.imgtxt3 > :nth-child(2),
	.imgtxt3 > :nth-child(4),
	.imgtxt3 > :nth-child(6) {
		padding: 0.5rem;
	}

}


@media (min-width: 750px) {
	.project {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr auto;
		width: var(--contentWidth);
        margin-inline: auto;
		gap: 1rem;
	}
}

.projectfoto {
    position: relative;
	display: flex;
    align-items: center;
	@media (min-width: 750px) {
		position: static;
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}
}

.projectfoto::after {
    content: "";
    position: absolute;
    height: 8rem;
    width: 100%;
    bottom: 0px;
    left: 0px;
    background: linear-gradient(0deg, var(--colorBG) 1rem, transparent 8rem);
}

.projecttekst {
    width: var(--contentWidth);
    margin-inline: auto;
    margin-top: -5rem;
    position: relative;
	@media (min-width: 750px) {
		width: unset;
		margin-top: 0rem;
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
}

.projecttekst h2 {
    font-size: 2rem;
    position: relative;
    width: fit-content;
}

.projecttekst h2::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    height: 2px;
    width: 100%;
    background: var(--colorSpecial);
}

.projectthumbs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem;
    width: var(--contentWidth);
    margin-inline: auto;
	@media (min-width: 750px) {
		width: unset;
	}
}

.projectthumbs input.hidden,
.projecten input.hidden {
    position: absolute;
    appearance: none;
    opacity: 1;
    width: 0px;
    height: 0px;
    pointer-events: none;
}

.projectthumbs label:has(input:checked) {
    border-bottom: 2px solid var(--colorSpecial);
}

.projectthumbs label {
    padding-bottom: 0.25rem;
    border-bottom: 2px solid transparent;
	cursor: pointer;
	overflow: hidden
}

.projectthumbs label img {
    transition: scale 250ms;
}
.projectthumbs label:hover img {
    scale: 1.1;
}

.projecten {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
	@media (min-width: 750px) {
		grid-template-columns: 1fr 1fr 1fr;
	}
	@media (min-width: 1000px) {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

.projecten h2 {
    grid-column: 1 / -1;
    margin-bottom: 0px;
}

label.projectselect {
    position: relative;
	overflow: hidden;
    cursor: pointer;
}

label.projectselect img {
    transition: 250ms scale;
}
label.projectselect:hover img {
    scale: 1.1;
}

label.projectselect::after {
    content: attr(data-title);
    position: absolute;
    inset: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-shadow: 1px 1px 2px black;
    font-weight: 600;
    border-radius: 0.5rem;
}

label.projectselect:has(input:checked)::after {
    background: #8884;
}

label.projectselect:has(input:checked) img {
    filter: brightness(0.5) blur(1px);
}

label.projectselect img {
    border-radius: 0.5rem;
}



footer {
	position: sticky;
    bottom: 0px;
    z-index: 9;
    background: var(--colorBGMenu);
	padding: 0.5rem;
    line-height: 1.5rem;
}