html { font-family: 'Titillium Web', Arial, sans-serif; font-size: 12pt; font-weight: 600; line-height: 18pt; height: 100%; }
body { 
	margin: 0 auto; 
	height: 100%; 
	background: #014; 
	color: #6a7; 
	display: flex; 
	flex-direction: column; 
}
a { text-decoration: none; color: #90c; } /* #0bb */
a:hover, a:active, a:focus { text-decoration: underline solid; color: #b5d; } /* #990 */

#header { 
	height: 112px; 
	width: 100%; 
	background-color: #170; 
	background: linear-gradient(173deg, #170, #014 80%); 
	flex: 0 0 auto; 
}
.logo, .logo > a { display: inline-block; }
.logo img { padding: 10px; padding-left: 15px; width: 500px; }
#nav { float: right; height: 100%; font-weight: bold; font-size: 2.1rem; line-height: 2.1rem; }
#nav ul { list-style: none; padding: 0; }
#navlinks { margin: 0 1rem 0 0; }
#navlinks > li { margin: calc((112px - 1em) / 2) .25em; display: inline-block; text-align: center; }
#navabout { width: 6rem; }
#navcontact { width: 7.5rem }
#navservices { width: 8.25rem; }
#navfaq { width: 5rem; }
#nav a { color: #6a5; }
#nav a:hover, #nav a:active, #nav a:focus { font-size: 2.25rem; line-height: 2rem; color: #8c4; text-decoration: none; }

#navbutton { 
	margin: 0; 
	border: 0; 
	line-height: 0;  
	height: 66px; 
	width: 5.5rem; 
	display: none; 
	position: absolute; 
	right: 0; 
	top: 0; 
}
#navbutton input { opacity: 0; display: none; position: relative; bottom: 2.8em; left: 1.2em; }
#hambutton { 
	position: absolute; 
	right: 0; 
	width: 5.5rem; 
	height: 100%; 
	text-align: center; 
	background: #fff2; 
	background: linear-gradient(260deg, #fff4, #fff1 80%, transparent); 
}
#hambutton label { display: block; height: 100%; }
#hambutton label:hover, #hambutton label:active, #hambutton label:focus { cursor: pointer; }
#hambutton img { height: 36px; padding-top: 15px; }
#hambutton input + label + ul { 
	display: none; 
	background: transparent; 
	width: 5.5rem; 
	position: absolute; 
	border-radius: 0 0 0 25px; 
	top: -16em;
	transition: top .4s ease; 
}
#hambutton input:checked + label + ul { display: block; top: 0; }
#hambutton input:checked + label { background: #058; background: #058a; }
#hambutton ul { top: 0; box-shadow: 3px -3px 15px 10px #023; box-shadow: 3px -3px 15px 10px #000a; pointer-events: none; }
#hambutton li { line-height: 2em; pointer-events: auto; background: #058; background: #058d; }
#hambutton a { display: inline-block; width: 100%; height: 100%; text-align: center; }
#hambutton li:hover, #hambutton li:active, #hambutton li:focus { background: #07c; }
#hambutton #menuhamb { pointer-events: none; background: transparent; }
#hambutton > label:hover, 
#hambutton > label:active, 
#hambutton > label:focus,
#hambutton input:checked + label:hover, 
#hambutton input:checked + label:active, 
#hambutton input:checked + label:focus { 
	background: #07c; 
	background: radial-gradient(farthest-side at 90% 0%, #fff4, #fff2 50%, #fff1 80%, transparent), 
		radial-gradient(farthest-side at 20% 0%, #fff4, #fff2 50%, #fff1 80%, transparent); 
}
@media only screen and (hover: none){
	#hambutton > label:hover, 
	#hambutton > label:active, 
	#hambutton > label:focus,
	#hambutton input:checked + label:hover, 
	#hambutton input:checked + label:active, 
	#hambutton input:checked + label:focus { background: transparent; }
}
#menufaq, #menufaq > a { border-radius: 0 0 0 25px; }

h1 { margin: 0; display: inline-block; }

#pad { flex: 1 0 auto; padding: 0 1em; }
#content { margin: 0 auto; width: 100%; max-width: 69rem; }

/*** About page ***/
#projects { list-style: none; padding-left: 1.5em; }
#projects > li {  }

#paulphoto, #paulsm, #paulhead { float: right; margin: 20px 25px 10px; display: block; background: #028; border-radius: 50%; }
#paulphoto { width: 300px; height: 400px; }
#paulsm { width: 240px; height: 320px; }
#paulhead { width: 24vw; height: 32vw; }
#paulsm { display: none; }
#paulhead { display: none; }
#nzrrlogo, #nzrrprint { float: right; margin: 0 25px 15px; line-height: 0; }
#nzrrlogo > img { background: rgba(255, 255, 255, .3); border-radius: 10px; }
.nzrrlink { color: #a5f; } 
#nzrrprint { display: none; }

/*** Contact page ***/
#contactgrid { display: flex; flex-flow: row wrap; }
/*	grid-row-gap: 1em; grid-column-gap: .7em; grid-template-columns: 12em 1fr; max-width: 40em; } */
#contactgrid label { text-align: right; flex: 1 0px; min-width: 12em; }
#contactgrid input { border-radius: .5em; border-style: none; padding: inital .4em; background-color: #79f; color: black; font-weight: bold; font-size: .8em; height: 1.7em; }
#contactgrid #submit { font-family: inherit; font-size: .9em; font-weight: inherit; width: 8em; padding: .2em 0; }
#contactgrid #submit:hover { background-color: darken(#79f, 5%); } /* #9bf; } */

/*** FAQ page ***/
/* #faqlist { start: "0"; } */

/*** Footer on all pages ***/
#footer { 
	/* position: absolute; 
	bottom: 0; */
	width: 100%;
	height: 50px; 
	background: linear-gradient(to bottom, #014, #150); 
	text-align: center; 
	display: inline-block;
	flex-shrink: 0;
}
#copyright { font-size: .7rem; position: relative; bottom: -18px; height: 100%; overflow: hidden; }

@media only screen and (max-width: 84em){
	#header { height: 84px; }
	.logo img { width: 375px; }
	#navlinks > li { margin: calc((84px - 1em) / 2) .12em; }
}

@media only screen and (max-width: 72em){
	#nav { font-size: 1.8rem; line-height: 1.8rem; }
	#navabout { width: 5rem; }
	#navcontact { width: 6.3rem }
	#navservices { width: 6.85rem; }
	#navfaq { width: 4.25rem; }
	#nav a:hover, #nav a:active, #nav a:focus { font-size: 1.9rem; line-height: 1.7rem; }
}

@media only screen and (max-width: 66.5em){
	#header { height: 66px; }
	.logo img { padding: 15px; width: 200px; }
	#navlinks > li { margin: calc((66px - 1em) / 2) .12em; }
	#paulphoto { display: none; }
	#paulsm { display: block; }
}

@media only screen and (max-width: 52em){
	html { font-weight: normal; }
	#nav { font-size: 1.2rem; line-height: 1.2rem; }
	#navabout { width: 3.5rem; }
	#navcontact { width: 4.5rem }
	#navservices { width: 5rem; }
	#navfaq { width: 3rem; }
	#nav a:hover, #nav a:active, #nav a:focus { font-size: 1.3rem; line-height: 1.1rem; }
	#paulsm { display: none; }
	#paulhead { display: block; }
	#nzrrlogo { width: 100%; text-align: center; margin: 0 0 15px; }
	#nzrrlogo > img {  }
}

@media only screen and (max-width: 43em){
	#navlinks { display: none; }
	#navbutton { display: block; }
	#contactgrid { grid-template-columns: 1fr; grid-gap: .5em; }
	#contactgrid label { text-align: left; }
}

@media only screen and (max-width: 320px){
	.logo img { padding-left: 7px; }
}

@media print {
	html { font-size: 12pt; line-height: 16pt; }
	body { background: #fff; color: #000; }
	#header { background: #fff; height: 90px; }
	.logo img { width: 350px; }
	#nav { font-size: 1.2rem; line-height: 1.2rem; }
	#navabout { width: 3.5rem; }
	#navcontact { width: 4.5rem }
	#navservices { width: 5rem; }
	#navfaq { width: 3rem; }
	#content > p:first-of-type { margin-top: 0; }
	#paulsm { display: block; }
	#paulphoto, #nzrrlogo { display: none; }
	#nzrrprint { display: inline-block; }
	#nzrrprint:before { content: ''; display: block; float: right; height: 300px; }
	#footer { background: #fff; height: initial; }
	#copyright { bottom: 0; }
}

@page { margin: .5in; }

@font-face {
    font-family: 'Titillium Web';
    src: url('hinted-TitilliumWeb-Regular.eot');
    src: local('Titillium Web'), local('TitilliumWeb-Regular'),
        url('hinted-TitilliumWeb-Regular.eot?#iefix') format('embedded-opentype'),
        url('TitilliumWeb-Regular.woff2') format('woff2'),
        url('TitilliumWeb-Regular.woff') format('woff'),
        url('TitilliumWeb-Regular.ttf') format('truetype'),
        url('TitilliumWeb-Regular.svg#TitilliumWeb-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Titillium Web';
    src: url('hinted-TitilliumWeb-Light.eot');
    src: local('Titillium WebLight'), local('TitilliumWeb-Light'),
        url('hinted-TitilliumWeb-Light.eot?#iefix') format('embedded-opentype'),
        url('TitilliumWeb-Light.woff2') format('woff2'),
        url('TitilliumWeb-Light.woff') format('woff'),
        url('TitilliumWeb-Light.ttf') format('truetype'),
        url('TitilliumWeb-Light.svg#TitilliumWeb-Light') format('svg');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Titillium Web';
    src: url('hinted-TitilliumWeb-SemiBold.eot');
    src: local('Titillium WebSemiBold'), local('TitilliumWeb-SemiBold'),
        url('hinted-TitilliumWeb-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('TitilliumWeb-SemiBold.woff2') format('woff2'),
        url('TitilliumWeb-SemiBold.woff') format('woff'),
        url('TitilliumWeb-SemiBold.ttf') format('truetype'),
        url('TitilliumWeb-SemiBold.svg#TitilliumWeb-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Titillium Web';
    src: url('hinted-TitilliumWeb-Bold.eot');
    src: local('Titillium WebBold'), local('TitilliumWeb-Bold'),
        url('hinted-TitilliumWeb-Bold.eot?#iefix') format('embedded-opentype'),
        url('TitilliumWeb-Bold.woff2') format('woff2'),
        url('TitilliumWeb-Bold.woff') format('woff'),
        url('TitilliumWeb-Bold.ttf') format('truetype'),
        url('TitilliumWeb-Bold.svg#TitilliumWeb-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
}