/*
Title:      Elzo Smid Ontwerp master screen styles
Author:     Sander Tiekstra - http://sandertiekstra.nl
*/


/*	reset styles (http://html5doctor.com/html-5-reset-stylesheet/ v1.6.1)
-------------------------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}body{line-height:1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}nav ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}ins{background-color:#ff9;color:#000;text-decoration:none;}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}table{border-collapse:collapse;border-spacing:0;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}



/*	master style
-------------------------------------------------------------------- */
html {
	overflow-y: scroll;
}

body {
	background-color: #1d77bd;
	color: #000;
	font-size: .75rem;
	font-family: "calluna-1","calluna-2", Georgia, serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

h1, h2 {
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #0d3968;
}

h1 {
	font-size: 2.4em;
	line-height: 1em;
	margin: -.0833em 0 .5833em 0;
}

h2 {
	font-size: 1.8em;
	line-height: 1.3333em;
}

p, ul, ol, dl {
	font-size: 1.6em;
	line-height: 1.5em;
	margin-bottom: 1.5em;
}

a {
	color: #1d77bd;
}

a.more {
	color: #fff;
	text-decoration: none;
}

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

sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }

.js header nav, .js #content, .js aside, .js footer,
.wf-loading header nav, .wf-loading #content, .wf-loading aside, .wf-loading footer {
	visibility: hidden;
}

.wf-active header nav, .wf-active #content, .wf-active aside, .wf-active footer,
.wf-inactive header nav, .wf-inactive #content, .wf-inactive aside, .wf-inactive footer {
	visibility: visible;
}

:where(.slideshow, .category, .grid) figure {
	overflow: hidden;
	position: relative;
}

.category figure {
	max-height: 15.5em;
	overflow: hidden;
}

.category figure img {
	height: 15.5em;
	width: 20.6em;
}

:where(.slideshow, .category, .grid) figure figcaption {
	background-color: #579ed4;
	color: #fff;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	opacity: 0;
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	transition: opacity 750ms cubic-bezier(0.45, 0, 0.55, 1);
	width: 100%;
}

:where(.slideshow, .category, .grid) figure:hover figcaption,
:where(.slideshow, .category, .grid):has(a:focus) figcaption {
	opacity: 1;
}

.no-js .slideshow figure figcaption,
.no-js .slideshow figure figcaption,
.no-js .category figure figcaption,
.no-js .category figure figcaption,
.no-js .grid figure figcaption,
.no-js .grid figure figcaption, {
	opacity: 1;
}

figure figcaption span.title {
	display: block;
	font-size: 2.4em;
	font-weight: 600;
	left: .4167em;
	line-height: 1em;
	position: absolute;
	top: .4167em;
}

figcaption span.more {
	bottom: .7143em;
	display: block;
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1em;
	position: absolute;
	right: .7143em;
	text-align: right;
}

figcaption span.more:hover {
	text-decoration: underline;
}


/*	header
-------------------------------------------------------------------- */
header {
	background-color: #fff;
	border-bottom: .1em solid #d6e4f4;
	color: #1d77bd;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

header .wrapper {
	height: 7em;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 5%;
	position: relative;
	width: 90%;
}

header h1 {
	margin: 0;
	line-height: 1.25em;
	font-weight: 500;
	float: left;
	margin: .625em 0 0 0;
}

header nav {
	bottom: 0;
	position: absolute;
	left: 5%;
}

header nav ul {
	font-size: 1em;
	margin: 0;
}

header nav ul li {
	margin-right: 1em;
	float: left;
}

header nav ul li a {
	border-bottom: .2778em solid #fff;
	color: #1d77bd;
	display: block;
	font-size: 1.3em;
	font-weight: 600;
	line-height: 1em;
	padding-bottom: .2778em;
	text-decoration: none;
	text-transform: lowercase;
}

header nav ul li.active a,
header nav ul li a:focus,
header nav ul li a:hover {
	border-bottom-color: #1d77bd;
}


/*	footer
-------------------------------------------------------------------- */
footer {
	color: #fff;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 0 auto;
	padding: 0 5%;
	height: 12em;
	width: 90%;
}

footer nav {
	float: left;
	padding: 1.8em 0 2.4em 0;
	text-transform: lowercase;
}

footer nav ul {
	font-size: 1.4em;
	line-height: 1em;
	margin-bottom: 0;
	overflow: hidden;
}

footer nav ul li {
	border-right: .1em solid #fff;
	display: inline;
	float: left;
	margin-bottom: .5em;
}

footer nav ul li.last {
	padding-right: 0;
	border-right: 0;
}

footer nav ul li a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	padding: 0 .5em;
}

footer nav ul li.active a,
footer nav ul li a:focus,
footer nav ul li a:hover {
	text-decoration: underline;
}

footer nav ul li.info a {
	font-weight: 500;
}


/*	main and content
-------------------------------------------------------------------- */
#main {
	background-color: #eaf1fa;
	border-bottom: .5em solid #fff;
	overflow: hidden;
	padding: 3em 0;
}

#main .wrapper {
	margin: 0 auto;
	padding: 0 5%;
	width: 90%;
}

#content {
	background-color: #fff;
	border-top: .5em solid #1d77bd;
	float: left;
	padding: 1.4em 1em 1em 1em;
}

blockquote.testimonial,
blockquote.quote,
section.article {
	background-color: #579ed4;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 600;
	margin-bottom: 2.5em;
	padding: 1em 1em .6em 1em;
}

section.article a.more {
	float: right;
	font-size: 1.4em;
	font-weight: 200;
	line-height: 1.7143em;
	margin-top: -1.7143em;
	text-decoration: none;
	-webkit-font-smoothing: subpixel-antialiased;
}

section.article a.more:focus,
section.article a.more:hover {
	text-decoration: underline;
}

section.article figure {
	margin: -1em -1em 1em -1em;
}

section.article figure img {
	width: 100%;
	margin: 0 auto;
}


blockquote.testimonial,
blockquote.quote {
	background: #579ed4 url('img/quote.png') .4em .5em no-repeat;
	padding: 2em 1.5em .1em 2.5em;
}

blockquote.testimonial p,
blockquote.quote p {
	font-size: 2.2em;
	line-height: 1em;
	margin-bottom: 1em;
}

blockquote.testimonial p.author,
blockquote.quote p.author {
	font-family: "calluna-1","calluna-2", Georgia, serif;
	font-size: 1.6em;
	line-height: 1.5em;
	margin: -.625em 0 .375em -.625em;
	text-align: right;
}

blockquote.testimonial a,
blockquote.quote a {
	color: #fff;
}

blockquote.testimonial a:hover,
blockquote.testimonial a:focus,
blockquote.quote a:hover,
blockquote.quote a:focus {
	text-decoration: none;
}


/*	home */
.home #content {
	float: right;
	width: 44em;
}

/*	contact */
.contact #content p {
	font-size: 1.4em;
	line-height: 1.2857em;
	padding-top: .2857em;
	margin-bottom: 1em;
}

/*	portfolio */
.portfolio #content {
	background-color: transparent;
	border: 0;
	padding: 0;
	margin: 0 0 -1.9em 0;
	width: 100%;
	max-width: 95em;
}

.portfolio #content h1 {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

.portfolio #content h2 {
	color: #579ed4;
	margin-left: 3.125rem;
	margin-bottom: .4375em;
	text-transform: lowercase
}

.portfolio #content .category {
	clear: both;
	overflow: hidden;
	padding-bottom: 1.4em;
	position: relative;
}

.portfolio #content .category .carousel {
	padding: 0 3.125rem;
	display: flex;
	gap: 1.5em;
	transition: margin 0.4s ease-in-out;
}

.portfolio #content .category a {
	/* float: left; */
	/* margin: 0 .7em 1.4em .7em; */
	position: relative;
	flex-shrink: 0;
}

.portfolio a.more figure figcaption span.title {
	top: .5556em;
	font-size: 1.8em;
	left: .5556em;
}

.portfolio #content .category .prev,
.portfolio #content .category .prev-disable,
.portfolio #content .category .next,
.portfolio #content .category .next-disable {
	appearance: none;
	background: #eaf1fa url('img/btns-carousel.svg') 0 3.1em no-repeat;
	border: 0;
	cursor: pointer;
	display: block;
	width: 3.125rem;
	height: 100%;
	margin: 0;
	overflow: hidden;
	position: absolute;
	text-indent: -777em;
	top: 0;
}

.portfolio #content .category .prev,
.portfolio #content .category .prev-disable {
	background-position: -100px 2.85em;
	left: 0;
}

.portfolio #content .category .prev-disable {
	background-position: 0 2.85em;
}

.portfolio #content .category .prev:hover {
	background-position: -200px 2.85em;
}

.portfolio #content .category .next,
.portfolio #content .category .next-disable {
	background-position: -400px 2.85em;
	right: -1px;
}

.portfolio #content .category .next-disable {
	background-position: -500px 2.85em;
}

.portfolio #content .category .next:hover {
	background-position: -300px 2.85em;
}

/*	portfolio detail */
.portfolio-detail #content {
	background-color: transparent;
	border: 0;
	float: right;
	padding: 0;
	max-width: 68.5em;
	width: 100%;
}

.portfolio-detail #content img {
	padding-bottom: .75em;
	max-width: 100%;
}

.portfolio-detail #content figure {
	margin-bottom: 2.5em;
}

/*	inspiration and testimonial */
.inspiration #content,
.testimonial #content {
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	max-width: 97.5em;
	width: 100%;
}

.inspiration #content .intro {
	background-color: #fff;
	margin: 0 0 2.5em 0;
	overflow: hidden;
	max-width: 30em;
	width: 100%;
}

.inspiration #content .intro figure {
	margin: 0;
}

.inspiration #content .intro div {
	border-top: .5em solid #1d77bd;
	float: left;
	padding: 1.4em 3.5em 1em 1em;
	width: auto;
}

.inspiration #content .intro p {
	font-size: 1.4em;
	line-height: 1.2857em;
	padding-top: .2857em;
	margin-bottom: 1em;
}

.inspiration #content a.more,
.inspiration #content figure,
.testimonial #content a.more {
	background-color: #579ed4;
	color: #fff;
	float: left;
	margin: 0 2.5em 2.5em 0;
	width: 100%;
	max-width: 30em;
}

.inspiration #content a.more figure {
	float: none;
	margin: 0;
	width: auto;
}

.inspiration #content figure img {
	width: 100%;
}

.inspiration #content blockquote,
.testimonial #content blockquote {
	float: left;
	margin: 0 2.5em 2.5em 0;
	width: 100%;
	max-width: 30em;
}

/*	archive */
.archive #content {
	border: 0;
	background-color: transparent;
	margin-bottom: -3em;
	padding: 0;
	width: 100%;
}

.archive #content section {
	float: left;
	margin: 0 2.5em 2.5em 0;
	width: 100%;
	max-width: 30em;
}


/*	spread
-------------------------------------------------------------------- */
#spread {
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: transparent;
	border-bottom: .1em solid #d6e4f4;
	overflow: hidden;
	height: 20em;
	margin-top: -3em;
	/* margin-bottom: -11.5em; */
}


/*	aside
-------------------------------------------------------------------- */
aside {
	color: #fff;
	float: left;
	margin: 3em 0 -2.5em 0;
	width: 100%;
}

/*	home */
.home .intro {
	background-color: transparent;
	color: #1d77bd;
	clear: left;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: subpixel-antialiased;
	margin: 0 auto;
	padding: 5em 0 0 0;
	width: 46em;
	max-width: 100%;
}

.home .intro ul {
	font-size: 1.4em;
	font-weight: 500;
	line-height: 1.2727em;
	list-style: none;
	margin-bottom: 30px;
}

.home .intro ul li:before {
	content: "- ";
}

.home aside {
	margin-top: calc((min(41%, 555px * .41) * -1) + 2.5em);
	width: 100%;
}

.home aside .showreel {
	display: block;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 46em;
	max-width: 100%;
}

.home aside .slideshow figure {
	background-color: #fff;
	margin: 0 0 2.5em 0;
	float: left;
	overflow: hidden;
	max-width: 100%;
}

.home aside .slideshow figure img {
	width: 100%;
	top: 0;
}

.home aside .slideshow figcaption {
	height: 38%;
	bottom: 0;
	top: auto;
}

.home aside .slideshow figcaption .title {
	position: relative;
}

.home aside ul.nav-slideshow {
	clear: both;
	font-size: 1em;
	float: left;
	margin: -1em 0 0 50%;
	position: relative;
}

.home aside ul.nav-slideshow li {
	display: block;
	float: left;
	text-indent: -777em;
}

.home aside ul.nav-slideshow li a {
	display: block;
	padding: .5em;
	height: 1em;
	width: 1em;
	position: relative;
}

.home aside ul.nav-slideshow li a::after {
	content: "";
	display: block;
	height: 50%;
	width: 50%;
	position: absolute;
	inset: 25%;
	background-color: #fff;
	border: .1em solid #999;
	border-radius: .6em;
}

.home aside ul.nav-slideshow li.active a::after,
.home aside ul.nav-slideshow li a:focus::after,
.home aside ul.nav-slideshow li a:hover::after {
	background-color: #1d77bd;
	border-color: #0d3968;
}

/*	contact */
.contact aside #google-map {
	max-width: 100%;
	width: 100%;
	margin-bottom: 2.5em;
	height: 48em;
}

.contact aside #google-map img {
	max-width: 100%;
}

/*	work detail */
.portfolio-detail aside {
	background-color: #fff;
	border-top: .5em solid #1d77bd;
	color: #000;
	float: none;
	margin: 0 0 3em 0;
	padding: 1em 1em 0 1em;
	width: auto;
}

.portfolio-detail aside p {
	font-size: 1.4em;
	line-height: 1.2857em;
	padding-top: .2857em;
	margin-bottom: 1em;
}

.portfolio-detail aside nav {
	background-color: #eaf1fa;
	font-family: "pill-gothic-300mg-1","pill-gothic-300mg-2", "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 0 -1em;
	overflow: hidden;
	padding: .6em 0 0 0;
}

.portfolio-detail aside nav p {
	color: #1d77bd;
	margin: 0;
	text-align: center;
}

.portfolio-detail aside nav p a,
.portfolio-detail aside nav p .disabled {
	padding: 0 .3571em;
	text-decoration: none;
}

.portfolio-detail aside nav p a + .disabled {
	display: none;
}

.portfolio-detail aside nav p .disabled {
	color: #b0d0e8;
}

.portfolio-detail aside nav p a:focus,
.portfolio-detail aside nav p a:hover {
	text-decoration: underline;
}

.portfolio-detail aside nav p i {
	font-style: normal;
	vertical-align: 10%;
}

/*	archive */
.archive aside {
	background-color: #fff;
	border-top: .5em solid #1d77bd;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	color: #000;
    float: none;
	padding: 1.4em 1em 1em 1em;
	margin: 0 0 3em 0;
	width: 100%;
	max-width: 30em;
}

.archive aside p {
	font-size: 1.4em;
	line-height: 1.2857em;
	padding-top: .2857em;
	margin-bottom: 1em;
}



/*	320px and up (mediaquery)
-------------------------------------------------------------------- */
@media only screen and (min-width: 20rem) {
}



/*	480px and up (mediaquery)
-------------------------------------------------------------------- */
@media only screen and (min-width: 30rem) {
	header .wrapper {
		height: 7.5em;
	}

	header nav ul li a {
		font-size: 1.5em;
	}

	/*	main and content */
	blockquote.testimonial,
	blockquote.quote,
	section.article {
		float: left;
		margin-right: 5%;
		width: 45%;
	}

	.home .intro ul {
		font-size: 2.2em;
	}

	/*	aside */
	aside {
		width: 105.5555556%;
	}

	.portfolio-detail aside {
		float: none;
		width: auto;
		margin-bottom: 3em;
	}


	.contact aside {
		margin-right: 0;
		width: auto;
	}
}


/*	800px and up (mediaquery)
-------------------------------------------------------------------- */
@media only screen and (min-width: 50rem) {
	/*	header */
	header .wrapper {
		height: 6em;
		padding: 0 2.5%;
		width: 95%;
	}

	header nav {
		left: auto;
		right: 2.5%;
	}

	header nav ul {
		margin-right: 0;
	}

	header nav ul li {
		margin-left: 2em;
		margin-right: 0;
	}

	header nav ul li a {
		font-size: 1.7em;
	}

	/*	footer */
	footer {
		padding: 0 2.5%;
		width: 95%;
	}
	footer nav {
		float: right;
	}

	footer nav ul li.last {
		padding-right: 0;
		border-right: 0;
		margin-right: -1em;
	}

	footer nav ul li a {
		padding: 0 1em;
	}

	/*	main and content */
	#main .wrapper {
		padding: 0 2.5%;
		width: 95%;
	}

	#main .wrapper aside {
		/* margin-top: -15%; */
	}

	.home #main .wrapper {
		display: flex;
		gap: 2.5%;
		align-items: end;
	}

	#content {
		width: 65.789473684%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	.portfolio-detail #main .wrapper {
		display: flex;
		gap: 2.5%;
		align-items: start;
	}

	.portfolio-detail #content {
		flex: 2;
		max-width: 555px;
	}

	.portfolio-detail aside {
		flex: 1;
		max-width: 21rem;
	}

	.contact #content {
		width: 31.578947368%;
	}

	blockquote.testimonial,
	blockquote.quote,
	section.article {
		float: none;
		margin-right: 0;
		width: auto;
	}

	.inspiration #content .intro {
	    padding-right: 30em;
	    width: 32.5em;
	    max-width: none;
    }

    .inspiration #content .intro figure {
        float: right;
        margin-right: -30em;
    }

    .archive #content section {
        margin-right: 2.5em;
    }

	/*	aside */
	aside {
		float: right;
		width: 31.578947368%;
		margin: 0;
	}
	
	.home aside {
		float: none;
		width: 50%;
	}

	.home .intro {
		width: 50%;
		padding-top: 2.25rem;
	}

	.portfolio-detail aside {
		float: left;
		width: 25.263157895%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	.contact aside {
		width: 65.789473684%;
	}

	.archive aside {
	    width: 62.5em;
	    max-width: inherit;
	}
}

/*	960px and up (mediaquery)
-------------------------------------------------------------------- */
@media only screen and (min-width: 60rem) {
	/*	header */
	header nav ul li a {
		font-size: 1.8em;
	}

	/*	spread */
	#spread {
		height: 40em;
	}
}

/*	1200px and up (mediaquery)
-------------------------------------------------------------------- */
@media only screen and (min-width: 75rem) {
	/*	header */
	header .wrapper {
		padding: 0 2.5em;
		width: 95em;
	}

	/*	footer */
	footer {
		padding: 0 2.5em;
		width: 95em;
	}

	/*	main and content */
	#main .wrapper {
		padding: 0 2.5em;
		width: 95em;
	}

	.home #main .wrapper {
		gap: 2.25rem;
	}

	.home .intro {
		/* float: right;
        margin: 0;
		padding-top: 0;
        position: absolute;
        right: 1.5em;
        bottom: 0; */
	}

	.inspiration #content,
    .testimonial #content {
    	margin: 0 -2.5em -2.5em 0;
    	width: 97.5em;
    }

    .inspiration #content .intro {
	    width: 65em;
	}

	.archive #content {
	    float: right;
	    width: 65em;
	}

	.archive #content section {
	    margin: 0 0 2.5em 2.5em;
    }

	/*	spread */
	#spread {
		/* margin-bottom: -16.5em; */
	}


	/*	aside */
	.portfolio-detail aside {
		float: left;
		width: 22em;
		-webkit-box-sizing: content-box;
		   -moz-box-sizing: content-box;
		        box-sizing: content-box;

	}

	.archive aside {
	    width: 30em;
	    float: left;
	}
}



/*	media styles: print
-------------------------------------------------------------------- */
@media print {
	.portfolio #content h1 {
		position: static !important;
		clip: auto;
	}
}