@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,300;8..144,500&display=swap');
* {
	margin: 0;
	padding: 0;
	border: none;
}
body {
	font-family: 'Roboto Flex', sans-serif;
	font-weight: 100;
	height: 100vh;
}
/*Nav*/

header h1 {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 5vw;
	width: 25vw;
	height: 27vw;
	text-indent: -999em;
	background-image: url("images/nut-graf-logo-color.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-color: #fff;
	border: 10px solid #fff;
}
.nav {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	z-index: 3;
}
.nav__toggle {
	position: absolute;
	cursor: pointer;
	margin: 0rem 1rem;
	right: 0;
}
.nav svg {
	width: 1.5rem;
	fill: #fff;
}
.nav .close {
	display: none;
}
.nav .menu {
	margin-top: 0.2rem;
}
.nav__checkbox {
	display: none;
}
.nav__menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #fff;
}
.nav__menu li {
	list-style: none;
	display: none;
	padding: 1.5rem 0 0;
}
.nav__menu li:last-child {
	padding: 1.5rem 0 1.5rem;
}
.nav a {
	font-size: 1.2rem;
	font-weight: 400;
	text-decoration: none;
	text-transform: uppercase;
	color: #336699;
}
#nav__checkbox:checked ~ ul.nav__menu li {
	display: block;
}
#nav__checkbox:checked ~ label.nav__toggle .close {
	display: block;
	margin-top: 1.5rem;
}
#nav__checkbox:checked ~ label.nav__toggle .menu {
	display: none;
}
/*Slideshow*/
#slideshow {
	position: relative;
	/*width: 100%;*/
	height: 110vw;
	padding: 28vw 0 0;
	background-color: #336699;
}
#slideshow div {
	text-transform: uppercase;
	text-align: center;
	color: #fff;
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 110vw;
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}
#slideshow div.one {
	background-image: url("images/nut-graf-ad-1.jpg");
}
#slideshow div.two {
	background-image: url("images/nut-graf-ad-2.jpg");
}
#slideshow div.three {
	background-image: url("images/nut-graf-ad-3.jpg");
}
#slideshow div.four {
	background-image: url("images/nut-graf-ad-4.jpg");
}
#slideshow div h1, #slideshow div p {
	font-size: 12vw;
	font-weight: 400;
	line-height: .9;
	text-shadow: 2px 2px 15px #000;
	padding: 60vw 2vw 0;
}
/*Main*/
main header {
	position: relative;
	padding: 2rem 1rem 2rem;
	margin: 0 auto;
	max-width: 920px;
}
main h2 {
	font-size: 30px;
	font-weight: 100;
	line-height: .9;
	text-transform: uppercase;
	text-align: center;
	padding: 0 0 1rem;
}
main p {
	font-size: 1.1rem;
	text-align: center;
	line-height: 1.1;
	padding: .25rem 1rem .5rem;
}
button {
	width: 275px;
	position: relative;
	margin: 1rem auto 0;
	display: block;
	background-color: #fff;
}
button a {
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	padding: 13px 16px;
	background-color: #336699;
	display: block;
}
button.secondary {
	width: 275px;
	margin: .75rem 0 .5rem;
	padding: 0;
	background-color: transparent;
}
button.secondary a {
	text-align: center;
	background-color: transparent;
	border: 2px solid #336699;
	padding: 13px 16px;
}
/*Section*/
main section {
	padding-top: 50vw;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top center;
	margin: 0 0 2rem;
	position: relative;
}
main section#about-nut-graf {
	background-image: url("images/about-nut-graf.jpg");
}
main section#nut-graf-creative-services {
	background-image: url("images/nut-graf-creative-services.jpg");
}
main section#nut-graf-editorial-services {
	background-image: url("images/nut-graf-editorial-services.jpg");
}
main section#nut-graf-project-examples {
	background-image: url("images/nut-graf-project-examples.jpg");
}
main section#contact-nut-graf {
	padding-top: 0;
	background-image: url("images/contact-nut-graf.jpg");
}
main section div * {
	margin: 0;
	padding: 0;
	text-align: left;
	padding-bottom: .5rem;
}
main section div {
	color: #fff;
	background-color: rgba(0, 0, 0, 1);
	padding: 30px 30px 20px;
}
main section div h3 {
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 200;
	text-transform: uppercase;
}
main section div h4 {
	font-size: 30px;
	line-height: 1;
	font-weight: 200;
	text-transform: uppercase;
}
main section ul {
	margin: 0 0 0 1.2rem;
}
main section#nut-graf-creative-services ul, main section#nut-graf-editorial-services ul {
	column-count: 2;
}
main section li {
	font-size: 1.1rem;
	line-height: 1.1;
	padding: .25rem 1rem .5rem 0;
	list-style: disc;
}
main section li:last-child {
	padding-bottom: 0;
}
main section button {
	width: 100%;
	margin: 0;
}
main section#contact-nut-graf header {
	padding: 0 1rem;
}
main section#contact-nut-graf div {
	background-color: #97653E;
}
main section#contact-nut-graf header h2 {
	color: #fff;
	padding: 20% 1rem;
	font-size: 12vw;
	font-weight: 400;
	line-height: .9;
	text-shadow: 2px 2px 15px #000;
}
/*Form*/
form {
	position: relative;
}
input, textarea {
	font-family: 'Roboto Flex', sans-serif;
	font-weight: 200;
	width: 88%;
}
.hidden--visually {
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.floating {
	position: relative;
	width: 100%;
	padding: 0;
}
.floating:hover, .floating:focus-within {
	background-color: #97653E;
}
.floating__input, .floating__textarea {
	color: #fff;
	padding: 1.8rem 1rem 0.6rem;
	font-size: 1rem;
	border-bottom: 0.1rem solid #fff;
	background-color: transparent;
}
.floating:hover .floating__input, .floating:hover .floating__textarea {
	background-color: #97653E;
}
.floating__input::placeholder, .floating__textarea::placeholder {
	color: rgba(0, 0, 0, 0);
}
.floating__label {
	display: block;
	position: relative;
	max-height: 0;
	font-weight: 200;
	pointer-events: none;
}
.floating__label::before {
	color: #fff;
	content: attr(data-content);
	display: inline-block;
	filter: blur(0);
	backface-visibility: hidden;
	transform-origin: left top;
	transition: transform 0.2s ease;
	left: 1rem;
	position: relative;
}
.floating__label::after {}
.floating__input:focus + .floating__label::after, .floating__textarea:focus + .floating__label::after {
	transform: scale3d(1, 1, 1);
	opacity: 1;
}
.floating__input:placeholder-shown + .floating__label::before, .floating__textarea:placeholder-shown + .floating__label::before {
	transform: translate3d(0, -2.2rem, 0) scale3d(1, 1, 1);
}
.floating__label::before, .floating__input:focus + .floating__label::before {
	transform: translate3d(0, -3.12rem, 0) scale3d(0.82, 0.82, 1);
}
.textarea .floating__label::before, .textarea .floating__input:focus + .floating__label::before {
	transform: translate3d(0, -4.75rem, 0) scale3d(0.82, 0.82, 1);
}
.floating__input:focus + .floating__label::before, .floating__textarea:focus + .floating__label::before {
	color: #fff;
}
main section#contact-nut-graf button {
	width: 275px;
	padding: 0;
	margin: 1rem auto;
}
main section#contact-nut-graf input#form-button {
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	margin: 0;
	color: #97653E;
	text-align: center;
	background-color: #fff;
	padding: 13px 16px;
	width: 100%;
}

dl {
	text-align: center;
	position: relative;
	width: 100%;
	margin: 2rem 0 !important;
}
dt {
	position: relative;
	z-index: 2;
	width: 25vw;
	height: 27vw;
	text-indent: -999em;
	background-image: url("images/nut-graf-logo-white.svg");
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0 auto 1rem !important;
}
dd {
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 200;
	text-transform: uppercase;
	text-align: center !important;
}
/*Footer*/
footer {
	text-align: center;
	padding: 0 1rem 2rem;
}

/*Confirmation*/
#confirmation {
	color: #fff;
	background-color: #336699;
	text-align: center;
	height: 100%;
	display: block;
}
#confirmation h1 {
font-size: 12vw;
	font-weight: 400;
	line-height: .9;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 0px 0px 0px #000;
	padding: 50vw 0 1rem;
}


@media only screen and (min-width:600px) {
	/*Slideshow*/
	#slideshow {
		position: relative;
		/*width: 100%;*/
		height: 110vw;
		padding: 5.5vw 0 0;
	}
	#slideshow div h1, #slideshow div p {
		font-size: 80px;
		font-weight: 400;
	}
	/*Main*/
	main h2 {
		font-size: 50px;
	}
	/*Section*/
	/*Form*/
	main section#contact-nut-graf header h2 {
	font-size: 80px;  
}
	input, textarea {
		width: 93%;
	}
		/*Confirmation*/
	#confirmation h1 {
font-size: 80px;
	font-weight: 400;
}
}
@media only screen and (min-width:900px) {
	/*Nav*/
	header h1 {
		width: 218px;
		height: 240px;
		border: 20px solid #fff;
	}
	/*Slideshow*/
	#slideshow {
		height: 60vw;
	}
	#slideshow div {
		height: 60vw;
	}
	#slideshow div h1, #slideshow div p {
		padding: 35vw 2vw 0;
	}
	/*Section*/
	main section {
		padding: 0;
		height: 73vw;
		background-size: cover;
	}
	main section#contact-nut-graf {
	background-position: center;
}
	main section div {
		width: 33%;
		float: left;
		margin: 5vw 5vw 0 !important;
		background-color: rgba(0, 0, 0, 0.8);
	}
	main section#contact-nut-graf div {
		margin: 0px !important;
		padding: 0px !important;
		width: 100%;
	}
	main section#about-nut-graf div, main section#nut-graf-editorial-services div {
		float: right;
	}
	main section button {
		position: absolute;
		bottom: 0px;
	}
	main section div button {
		position: relative;
		bottom: inherit;
	}
	main section div button a {
		width: 100%;
	}
	main section button a {
		text-align: right;
		width: 66%;
	}
	main section#about-nut-graf button, main section#nut-graf-editorial-services button {
		text-align: right;
	}
	main section#about-nut-graf button a, main section#nut-graf-editorial-services button a {
		text-align: left;
		display: inline-block;
	}
	main section#contact-nut-graf header h2 {
		padding: 25% 1rem;
	}
	/*Form*/
	form {
		padding: 2rem !important;
		float: right;
		width: 60%;
	}
	input, textarea {
		width: 93%;
	}
	dt {
			width: 218px;
		height: 240px;
		border: 20px solid transparent;
		padding-bottom: 2rem !important;
	}
	dl {
		float: left;
		width: 30%
	}
	main section#contact-nut-graf button {
		width: 275px;
		padding: 0;
		margin: 2rem 0 1rem !important;
	}
	/*Footer*/
	footer {
		padding: 2rem 1rem;
		clear: both;
	}
	/*Confirmation*/
	#confirmation h1 {
	padding: 25vw 0 1rem;
}
}
@media only screen and (min-width:1200px) {
	/*Nav*/
	.nav__toggle {
		display: none;
	}
	.nav__menu {
		text-align: right;
		flex-direction: row;
		width: 100%;
		display: block;
		background-color: transparent;
	}
	.nav__menu li {
		display: inline-block;
		padding: 1.5rem 1.5rem 0 0;
	}
	.nav__menu li:last-child {
		padding: 1.5rem 1.5rem 0 0;
	}
	.nav a {
	color: #fff;
}
	/*Slideshow*/
	#slideshow {
		height: 50vw;
		padding: 65px 0 0;
	}
	#slideshow div {
		height: 50vw;
	}
	#slideshow div h1, #slideshow div p {
		max-width: 920px;
		margin: 0 auto 0;
		padding: 30vw 2vw 0;
	}
	/*Main*/
	main header {
		padding: 3rem 1rem 3rem;
	}
	/*Section*/
	main section {
		padding: 0;
		height: 62vw;
	} 
}
@media only screen and (min-width:1400px) {
		/*Slideshow*/
	#slideshow {
		height: 45vw;
	}
	#slideshow div {
		height: 45vw;
	}
		#slideshow div h1, #slideshow div p {
		padding: 30vw 2vw 0;
	} 
		/*Section*/
	main section {
		padding: 0;
		height: 48vw;
	}
		
}
@media only screen and (min-width:1800px) {
		
		/*Section*/
	main section#contact-nut-graf {
		height: 30vw;
	}
		main section#contact-nut-graf header h2 {
		padding: 37% 1rem;
	}
		
}