


/* /////////////////////////////////   G L O B A L   /////////////////////////////////////////////// */



@import url('https://fonts.googleapis.com/css2?family=Inria+Sans:ital,wght@0,300;1,300&display=swap');

html, body {
	-webkit-text-size-adjust: 100%;   /* prevent mobile browsers auto-resizing text */
	font-size: 20px;
	height: 100%;
	}

body {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	color: #EEE;
	background: RGBA(8,14,24,1);
	font-family: 'Inria Sans', sans-serif;
	font-weight: 300;
	line-height: 1.5em;
	}

img {
	margin: 0;
	}

p {
	margin: 0;
	}

a {
	color: #EEE;
	text-decoration: none;
	border-bottom: solid 1px RGBA(255,255,255,0);
	transition: color 1s, border 1s;
	}

a:hover {
	color: #FFF;
	border-bottom: solid 1px RGBA(255,255,255,1);
	}

ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	}

li {
	display: flex;
	margin: 0;
	}

h2 {
	font-size: 1.1rem;
	width: 100%;
	margin: 50px 0 0 0;
	height: 1.8em;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.12em;
	border-bottom: solid 1px RGBA(60,80,100,1);
	}

	/* hide video play button on iOS Safari */
video::-webkit-media-controls-start-playback-button {
	display: none !important;
	}

	/* hide video cast button on Android Chrome */
video::-internal-media-controls-overlay-cast-button {
	display: none;
	}

.middle {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100vw;
	}

.content {
	width: 900px;
	max-width: 90vw;
	padding: 0 50px;
	}



/* /////////////////////////////////////   H E A D E R   //////////////////////////////////////////// */



#header-bar {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-image: linear-gradient( RGBA(30,45,60,1), RGBA(30,45,60,0) 100% );
	width: 100vw;
	}

#header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: bottom;
	flex-wrap: wrap;
	width: 900px;
	max-width: 90vw;
	padding: 50px 0;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.12em;
	}

h1 {
	font-size: 1rem;
	font-weight: 100;
	line-height: 70px;
	color: RGBA(255,255,255,0);
	min-width: 245px;
	margin: 0;
	background-image: url("jameswrightsonvideoeditor.png");
	background-size: 245px 70px;
	background-position: 0;
	background-repeat: no-repeat;
	}

#header a {
	color: #EEE;
	transition: filter 0.8s, color 0.8s, border 0.8s;
	}

#header a:hover {
	color: #EEE;
	border-bottom: solid 1px RGBA(255,255,255,0);
	filter: brightness(150%);
	}

#header ul {
	margin: auto 0;
	flex-wrap: nowrap;
	}

#header li {
	margin: 0;
	margin-left: 1.5em;
	line-height: 2em;
	}

#header li.left {
	margin-left: 0;
	}

#header ul a {
	color: RGBA(255,255,255,0.7);
	}

#header ul a:hover {
	color: RGBA(255,255,255,1);
	border-bottom: solid 1px RGBA(255,255,255,0.5);
	}

li#current {
	border-bottom: solid 1px RGBA(255,255,255,0.5); 
	}



/* /////////////////////////////////////   F O O T E R   //////////////////////////////////////////// */



.footer {
	font-size: 0.7rem;
	flex: 0 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100vw;
	height: 4em;
	padding: 3em 0 3em 0;
	background-image: linear-gradient( RGBA(30,45,60,0), RGBA(30,45,60,0.5) 100% );
	color: RGBA(255,255,255,0.5);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	}

.footer p {
	margin: 0 1em;
	}

.footer a {
	color: RGBA(255,255,255,0.5);
	display: inline-block;
	height: 2.5em;
	border-bottom: solid 1px RGBA(255,255,255,0);
	}

.footer a:hover {
	color: RGBA(255,255,255,1);
	border-color: RGBA(255,255,255,0.5);
	}



/* //////////////////////////////////////   A B O U T   ///////////////////////////////////////////// */



#about {
	padding-bottom: 4em;
	}

#intro {
	margin-top: 3em;
	display: flex;
	flex-direction: row;
	align-items: center;
	}

div#james-photo {
	flex-shrink: 0;
	height: 140px;
	width: 140px;
	border-radius: 50%;
	background-image: url("james.jpg");
	background-size: 140%;
	background-position: 48% 20%;
	background-repeat: no-repeat;
	margin: 0 0 0 100px;
	}

#clients-header {
	margin-top: 3em;
	text-align: center;
	font-style: italic;
	border-top: solid 1px RGBA(60,80,100,1);
	padding: 4em 0 1em 0;
	width: 100%;
	}

#clients {
	font-size: 0.8rem;
	justify-content: center;
	}

#clients li {
	background: RGBA(30,45,60,0.5);
	margin: 0.3rem;
	padding: 0.4em 1em;
	transform: skew(-8deg);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	}

#clients li span {
	display: block;
	transform: skew(8deg);
	}



/* ///////////////////////////////////   S E R V I C E S   ////////////////////////////////////////// */



#services {
	padding-bottom: 6em;
	height: 100%;
	line-height: 1.2em;
	}

#services video {
	opacity: 0.6;
	transition: opacity 1s;
	width: 900px;
	max-width: 90vw;
	margin: 2.3em 0 0 0;
	}

#services video:hover {
	opacity: 1;
	}

h3 {
	font-size: 1rem;
	margin: 0;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.06em;
	}

#services p {
	color: #777;
	width: 27em;
	max-width: 90vw;
	}



/* ////////////////////////////////////   C O N T A C T   /////////////////////////////////////////// */



#contact-middle {
	min-height: 970px;
	background: url("wellingtonpano.jpg") bottom no-repeat;
	}

#contact h2 {
	border-color: #BBB;
	}

#contact p {
	margin-top: 1em;
	}

#contact-footer {
	color: #EEE;
	margin-top: -10em;
	}

#contact-footer a {
	color: #EEE;
	}



/* ////////////////////////////////   S M A L L   W I N D O W   ///////////////////////////////////// */



@media only screen and (max-width: 850px), only screen and (max-device-width: 1500px)

	{

#header {
	width: 90vw;
	flex-direction: column;
	align-items: center;
	}

h1 {
	background-position: center;
	margin-bottom: 20px;
	}

h1, h1 a {
	display: flex;
	flex-direction: column;
	align-items: center;
	}

#header li {
	margin-left: 1em;
	}

.middle {
	width: 100vw;
	overflow: hidden;
	}

.footer {
	flex-direction: column;
	align-items: center;
	}

.footer p {
	margin: 0 0;
	}

#intro {
	flex-direction: column;
	align-items: center;
	}

div#james-photo {
	margin: 2em 0 0 0;
	}

#services video {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: -5vw;
	}

	}



/* //////////////////////////////////   M O B I L E   ////////////////////////////////////////////// */



@media only screen and (max-device-width: 1000px)

	{

html, body {
	font-size: 5vmin;
	}
#header li {
	font-size: 4vmin;
	}
h2 {
	font-size: 5vmin;
	}
h1 {
	font-size: 5vmin;
	}
.footer {
	font-size: 3.5vmin;
	}
#clients {
	font-size: 4vmin;
	}
#intro p {
	font-size: 5vmin;
	}
h3 {
	font-size: 5vmin;
	}

#header-bar {
	overflow: hidden;
	}

#header {
	width: 115vw;
	max-width: 115vw;
	padding: 0;
	}

#header a {
	border: 0;
	}

h1 {
	width: 100vmin;
	height: 30vmin;
	margin: 0;
	background-size: 60vmin;
	background-position: 50 50;
	}

#header ul {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	}

#header li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 34vw;
	height: 3em;
	margin: 0 2px;
	border: 0;
	background: RGBA(30,45,60,0.7);
	transform: skew(-8deg);
	}

#header li#current {
	background: RGBA(30,45,60,0);
	transform: skew(0);
	}

#header ul a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	transform: skew(8deg);
	}

#header li:hover {
	background: RGBA(30,45,60,1);
	}

#header ul a:hover {
	border: 0;
	}

#about {
	background-image: linear-gradient( RGBA(10,16,30,0), RGBA(10,16,30,0) );
	}

div#james-photo {
	height: 30vmin;
	width: 30vmin;
	}

#clients li {
	margin: 0.1rem;
	}

#contact-middle {
	background-size: 400vmin;
	background-position: bottom 0 left 80%;
	flex: 0 0 auto;
	height: 170vmin;
	min-height: 0;
	}

#services video {
	opacity: 1;
	}

	}



