@import url('https://fonts.googleapis.com/css?family=Hind:300,400,500,600,700|Lato|Anton|IBM+Plex+Serif|Fjalla+One');


/* Reset
oooooooooooooooooooooooooooooooooooooooooooooooooo */
* {
	margin: 0;
	padding: 0;
	border: 0;
	/* :before and :after pseudo elements will need this set individually */
	box-sizing: border-box;
}
*::-moz-focus-inner {
	border: none; /* remove FF's dotted border when interacting with clickable items */
}

/* Font
oooooooooooooooooooooooooooooooooooooooooooooooooo */
/*@font-face {
    font-family: 'OlijoBold';
    src: url('../fonts/olijo_bold.ttf') format('truetype');         
    font-weight: normal;
    font-style: normal;
}*/


/* Variables - Spacing and Color Palette
oooooooooooooooooooooooooooooooooooooooooooooooooo */
body {
	--main-color: magenta;
	--spacing-small: 20px;
	--spacing-medium: 50px;
	--spacing-large: 100px;
	--process-top: 60px;
	--blue10: #F00;
}
/*.content {
	border: 10px solid var(--main-color);
}*/


/* General
oooooooooooooooooooooooooooooooooooooooooooooooooo */
html {
	height: 100%;
}

html, body {
	min-height: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	/*/// Workaround for Mobile Chrome Bug caused by auto "font boosting." https://bugs.webkit.org/show_bug.cgi?id=84186 \\\*/
	max-height: 999999px;
	font-family: 'Hind', 'Helvetica Neue', sans-serif;
}

.wrapper {
	/*background-color: #FF0;*/
	/*border: 1px solid red;*/
	margin: 0 auto;
	/*max-width: 1100px;*/
	/*min-width: 320px;*/
	/*600px I know, I know… I'm working on it tonight (Feb 29) the content was more urgent*/
	min-width: 600px;
	position: relative;
}

.content {
	/*float: left;*/
	padding-top: 50px;
	clear: both;
}
h1, h2, h3, h4 {
	/*border-bottom: 1px solid #ddd;*/
}
h1 {
	/*background-color: #0FF;*/
	line-height: 1em;
	font-size: 60px;
	font-weight: 300;
	letter-spacing: -0.05em;
	color: #646189;
}

h2 {
	/*background-color: #00F;*/
	line-height: 1em;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: -0.05em;
	/*font-family: 'Anton', sans-serif;*/
}

h3 {
	/*background-color: #F00;*/
	line-height: 1em;
	font-size: 20px;
	font-weight: 600;
	/*font-family: 'Anton', sans-serif;*/
	text-transform: uppercase;
}

h4 {
	/*background-color: #0F0;*/
	line-height: 1em;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 400;
}

p {
	/*background-color: #F0F;*/
	margin-bottom: 2em;
	line-height: 1.4em;
	font-size: 20px;
}

ul {
	/*background-color: #F0F;*/
	list-style-type: disc;
	list-style-position: inside;
}

li {
	/*background-color: #0FF;*/
	display: list-item;
	margin-left: 1px;
	text-indent: 3em;
}

ul ul li {
	text-indent: 6em;
}

a {

}

.button {
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	text-decoration: none;
	padding: 12px 40px;
	/*646189*//*4F4C74*/
	background-image: linear-gradient(to bottom, #646189, #59567E);
	/*border-radius: 12px;*/
	border: 1px solid #383642;
	border-top-color: #E1DFFF;
	color: #E3E0FD;
	font-weight: 600;
	font-size: 20px;
}

.button:hover {
	background-image: linear-gradient(to bottom, #7E7AA5, #65628B);
	color: white;
}

.table {
	display: table;
	vertical-align: top;
}

.table_row {
	display: table-row;
	vertical-align: top;
}

.table_cell {
	display: table-cell;
	vertical-align: top;
}


/* Header
oooooooooooooooooooooooooooooooooooooooooooooooooo */
header {
	/*float: left;*/
	clear: both;
	position: fixed;
	z-index: 2;
	background-color: #fff;
	width: 100%;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.2);
	height: 50px;
}

header .name {
	float: left;
	/*margin: 9px 0 0 20px;*/
	/*line-height: 1em;*/
	/*color: #475365;*/
	/*font-size: 32px;*/
	/*font-weight: 400;*/
	text-transform: uppercase;
    font-weight: bold;
    /*font-size: 26px;*/

    font-family: 'Fjalla One', sans-serif;
	font-weight: normal;
	/*font-size:60px;*/
	/*color:#35034F;*/
	/*text-align:right;*/
	/*line-height:50px;*/
	/*text-shadow: 0px 1px 0px #FFFFFF, 0px -1px 0px #000000;*/
}

header .name a {
	color: #475365;
	text-decoration: none;
	padding: 12px 0 13px 20px;
    display: inline-block;
    font-size: 26px;
    line-height: 1em;
}


header .name a:hover {
	color: #33353a;
}
header .name a:visited {
	color: #475365;
}


/* Navigation
oooooooooooooooooooooooooooooooooooooooooooooooooo */
nav ul {
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0;
	float: right;
}

nav ul li {
	display: inline-block;
	padding: 0;
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1em;
	vertical-align: middle;
	display: inline-block;
	text-indent: 0;
}

nav a {
	/*background-color: green;*/
	text-decoration: none;
	display: inline-block;
	padding: 18px 40px 12px 40px;
	color: #505050;
	/*border: 1px solid blue;*/
}

nav a.current {
	color: #6D609E;
	/*border-top: 7px solid #6D609E;*/
	background-image: linear-gradient(to bottom, #6D609E 0, #6D609E 7px, transparent 8px, transparent 100px);
	background-repeat: no-repeat;
}

nav a:hover {
	background-color: #EEE;
	color: #20162A;
}



/* Footer
oooooooooooooooooooooooooooooooooooooooooooooooooo */
footer {
	/*#544F63 #20162A;*/
	min-height: 400px;
	background: #20162A url(../images/canvasofpixels_graphic.png) no-repeat right bottom;
	/*background-position: right bottom;*/
	padding: var(--spacing-medium) 0 0 var(--spacing-medium);
}

footer ul {
	margin-bottom: 24px;
}

footer li {
	list-style: none;
	margin-bottom: 10px;
	line-height: 1em;
	/*margin-bottom: 20px;*/
	text-indent: 0;
}

footer li a {
	color: rgba(255,255,255,0.8);
	font-size: 21px;
    line-height: 1.6em;
}

footer li a:hover {
	color: rgba(255,255,255,1);
}

footer img {
	height: 24px;
	text-align: bottom;
}

footer li::before {
	display: inline-block;
	width: 22px;
    height: 16px;
    content: '';
    vertical-align: top;
    background: url(../images/icon_text_document_inverted.svg) no-repeat bottom left;
    padding-right: 13px;
    padding-top: 10px;
}

footer .resume::before {
    background-image: url(../images/icon_text_document_inverted.svg);
}

footer .phone::before {
    background-image: url(../images/icon_phone.svg);
}

footer .email::before {
    background-image: url(../images/icon_envelope.svg);
}


/*.phone:before, .email:before {
	display: inline-block;
	font-weight: 600;
	padding-right: 0.5em;
}

.phone:before {
	content: "Phone:";
}

.email:before {
	content: "Email:";
}*/

.copyright {
	position: absolute;
	bottom: 20px;
	left: var(--spacing-large);
	color: white;
	font-size: 14px;
	color: #7D758B;
	text-shadow: 1px 1px 0 black;
}

.linkedin {
	display: block;
	width: 76px;
	height: 76px;
	opacity: 0.8;
	background: url('../images/linkedin.png');
}

.linkedin:hover {
	opacity: 1;
}




/* Home Page
oooooooooooooooooooooooooooooooooooooooooooooooooo */
.home .introduction {
	display: table;
	vertical-align: top;
	font-family: Lato, Helvetica, sans-serif;
}

.home .introduction p {
	margin-bottom: 0;
}

.home .introduction .column_left {
	background: magenta;
	display: table-cell;
	vertical-align: top;
	background-color: white;
	padding-right: 0;
}

.home .introduction .name_main {
	/*background-color: cyan;*/
	background: url(../images/abstract.jpg) no-repeat center center;
	background-size: cover;
    /*background-position: center center;*/
	display: table-row;
	min-height: 200px;
	height: 200px;
}

.home .introduction .name_container {
	padding: var(--spacing-large) var(--spacing-small) var(--spacing-large) var(--spacing-large);
}

.home .introduction .name {
	display: block;
	font-size: 54px;
	font-family: Lato, Helvetica, sans-serif;
	font-weight: 600;
	color: #ffffff;
	text-shadow: 2px 1px 0 rgba(0,0,0,0.5);
	line-height: 1em;
	font-family: 'Fjalla One', sans-serif;
	text-transform: uppercase;
	/*margin-left: var(--spacing-large);*/
}


.home .introduction .job_title {
	/*text-shadow: -2px -1px 0 rgba(255,255,255,0.5);*/
	/*color: #0C0800;*/
	color: #f3d99f;
	font-size: 38px;
	font-weight: 600;
	/*font-family: "OlijoBold",Arial,sans;*/
	font-weight: normal;
	/*text-transform: uppercase;*/
	letter-spacing: -0.02em;
}

.home .introduction .location {
	font-size: 26px;
	/*color: #0C0800;*/
	color: #ebf0ff;
	padding-left: 10px;
	/*font-family: "OlijoBold",Arial,sans;
	font-weight: normal;*/
	/*text-transform: uppercase;*/
	font-size: 20px;
}


.home .summary_container {
	font-size: 24px;
	font-family: Hind, Helvetica, sans-serif;
	color: #17161C;
	background-color: #F0F1F6;
	display: table-row;
}

.home .summary {
	padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) var(--spacing-large);
}

.home .introduction .column_right {
	background: url(../images/portrait.jpg) no-repeat center center;
	background-size: cover;
	display: table-cell;
	vertical-align: top;
	width: 30%;
	min-width: 200px;
	height: 470px;
}

/* Sections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.section:not(.introduction) {
	padding: var(--spacing-large) 0 var(--spacing-large) var(--spacing-medium);
}

.section h1 {
	margin-bottom: var(--spacing-small);
}

.media_container {
	margin-bottom: var(--spacing-medium);
}

.media_container .caption {
	font-size: 16px;
	font-family: 'IBM Plex Serif', serif;
	color: #333;
	line-height: 1em;
	hyphens: auto;
}

.content_container.problem .media_container {
	min-width: 350px;
	max-width: 350px;
}

.column_left {
	padding-right: var(--spacing-medium);
}
.column_right {
	padding-right: var(--spacing-medium);
}

.standalone_image {
	margin-bottom: var(--spacing-medium);
	border: 1px solid #eee;
}

/* My Process
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.section.dark {
	/*background-image: linear-gradient(to bottom, #383642 0%, #25232B 100%);*/
	background-color: #383642;
	color: #DDDDDD;
}
.section.dark h1 {
    color: #A6A2CE;
}
.section.dark .caption {
	color: #A6A2CE;
}

.section.process {
	min-height: 400px;
	padding: var(--spacing-large) 0 var(--spacing-large) var(--spacing-medium);
	width: 100%;
	font-size: 20px;
}

.section.process h1 {
	/*color: #A6A2CE;*/
	/*line-height: 0.8em;*/
	/*margin-bottom: var(--spacing-medium);*/
	margin-bottom: 0;
}

.process .sub_h1 {
	display: inline-block;
	color: #A6A2CE;
	font-weight: 200;
	font-size: 28px;
	margin-bottom: var(--spacing-medium);
	line-height: 1em;
}

/*.section.process img {
	width: 98%;
	margin-left: -18px;
}*/

.process .category {
	width: 1%;
	color: #A5CCC2;
	font-size: 26px;
	font-weight: 400;
	text-transform: uppercase;
	text-align: right;
	padding-top: var(--process-top);
	padding-right: var(--spacing-small);
	line-height: 1.4em;
}

.process .steps {
	width: 1%;
	min-width: 310px;
	/*background-color: #71A490;*/
	padding: var(--process-top) var(--spacing-small) 82px 46px;
	/*background-image: linear-gradient(to right, #71A490 0px, #71A490 28px, transparent 28px);
	background-repeat: no-repeat;*/

	/*background-image: url(../images/process_arrow.png),
		linear-gradient(to top, #383642 0px, #383642 38px, transparent 38px),
		linear-gradient(to right, #71A490 0px, #71A490 38px, transparent 38px);
	  background-repeat: no-repeat,
	      no-repeat,
	      no-repeat;
	  background-position: bottom left,
	      bottom left,
	      bottom left;*/
	      /*background-position: bottom left;*/

	background-image: linear-gradient(to top, #383642 0px, #383642 48px, transparent 48px),
		linear-gradient(to right, #71A490 0px, #71A490 28px, transparent 28px);
	background-repeat: no-repeat,
	      no-repeat;
	background-position: bottom left,
	      bottom left;

	/*TODO: one other approach I want to try for the image*/
	/*background-position: bottom 48px left 0px;*/

	position: relative;
	z-index: 1;

}

.process .steps:before {
	display: block;
	width: 28px;
	height: 20px;
	content: '';
	background: url(../images/process_arrow.png) no-repeat;
	position: absolute;
	bottom: 28px;
	left: 0px;
}



/*only shows at skinny widths*/
.process .steps span {
	display: none;
	margin-bottom: var(--spacing-small);
	color: #A5CCC2;
	font-size: 26px;
	font-weight: 600;
	text-transform: uppercase;
}

.process .steps a {
	color: #B1D6EC;
	/*font-weight: 600;*/
}

.process .steps a:visited {
	color: #D6CCE2;
}

.process .steps a:hover {
	color: #fff;
}

.process .table_row:first-child .steps {
	/*background-image: none;*/
}

.process .table_row:last-child .steps {
	/*padding-bottom: var(--spacing-medium);*/
}

.process .steps li {
	text-indent: 0;
	list-style: none;
	/*list-style-type: none;*/
	line-height: 1.7em;
	color: #fff;
}
.process .steps ul ul li {
	text-indent: 1.5em;
	list-style: disc;
	list-style-position: inside;
	line-height: 1.5em;
	display: none;
	line-height: 1.5em;
	font-size: 16px;
}

/*.process li {
	display: list-item;
	margin-left: 1px;
	text-indent: 3em;
}

.process ul ul li {
	text-indent: 6em;
}*/



.process .details {
	width: 98%;
	background-color: #545260;
	color: #fff;
	padding-top: var(--process-top);
	padding-left: var(--spacing-medium);
	padding-bottom: var(--spacing-small);
	font-size: 16px;
	border-bottom: 1px solid #383642;
}

.process .details > span {
	display: inline-block;
	color: #A4DBCD;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 0.5em;
}

/*.process .details a {
	color: #A6A2CE;
	font-weight: 700;
}
.process .details a:visited {
	color: #A2BBCE;
}
.process .details a:hover {
	color: #CFCDE3;
}*/

.process .details ul {
	margin-bottom: 20px;
}

.process .details li {
	text-indent: 0;
	list-style: none;
	/*\279C*/

	/*&#8226;*/
	/*\2022*/
	/*\21D2 */
	/*\21A6*/
	/*\21A3*/
	/*\279C*/ 
}

/*.process .details .button {
	color: #D6CCE2;
	background: #383642;
	border: 1px solid #fff;
	border-color: #6E6C74 #1E1D21 #1E1D21 #6E6C74;
	border-radius: 0;
}*/

/*.process .details .button:visited {
	color: #D6CCE2;
}

.process .details .button:hover {
	color: #D6CCE2;
}*/



/* Educator Tools
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.educator {
	background-image: linear-gradient(to bottom, #F6F6F6 0%, #B8B8B8 100%);
}

.educator .column_left, .educator .column_right {
	display: table-cell;
	vertical-align: top;
	max-width: 600px;
}

/*.educator .column_right {
	width: 50%;
}*/

.educator .column_right {
/*	background: url(../images/educator_tools.png) no-repeat;
	background-size: 100%;*/
	width: 50%;
	height: 100%;
	max-width: 100px;
	padding-right: var(--spacing-medium);
}

.educator img {
	width: 100%;
}

.educator .column_left {
	padding-right: var(--spacing-medium);
}

.full_width {
	width: 100%;
}

.design_studio_process {
	max-width: 500px;
}

.before_after {
	max-width: 1000px;
}

.design_studio_process {
	vertical-align: top;
	display: inline-block;
	border: 1px solid #eee;
}




/* Sub-pages
oooooooooooooooooooooooooooooooooooooooooooooooooo */
body.research h1 {
	padding: var(--spacing-medium) var(--spacing-medium) var(--spacing-small) var(--spacing-medium);
}

body.research h2 {
	padding-bottom: 0.3em;
	padding-top: 70px;
	/*display: table-cell;*/
}

body.research .section {
	/*border: 1px solid black;*/
	padding: 0 var(--spacing-medium) 0 var(--spacing-medium);
	/*display: table-row;*/
	/*margin-bottom: var(--spacing-large);*/
	
}

body.research .section:not(.introduction) {
	max-width: 1000px;
	margin: 0 auto;
}

body.research .content_container >p {
	padding-right: var(--spacing-small);

}

body.research .column_right >img {
	width: 100%;
}

body.research .column_left {
	width: 40%;
	max-width: 40%;
}

body.research .column_right {
	width: 60%;
	max-width: 60%;
}

body.research .section.journey_maps {
	/*margin-bottom: var(--spacing-large);*/
}

body.research .content >div:last-child {
	margin-bottom: 50px;
}

body.subpage h1 {
    padding: var(--spacing-large) var(--spacing-medium) 0 var(--spacing-large);
}

body.subpage h2 {
	padding-bottom: 0.3em;
    padding-top: 10px;
}

body.subpage h3 {
	padding-bottom: 0.3em;
    /*padding-top: 10px;*/
}

body.portal h1 {

}

body.portal .introduction .column_left {
    padding-left: var(--spacing-large);
}
body.portal .introduction .column_right {
    padding-right: var(--spacing-large);
	width: 50%;
}

body.portal .details {
	max-width: 1000px;
	margin: 0 auto;
	background-color: #F0F1F6;
	padding-right: var(--spacing-medium);
}

body.portal .gallery {
	border-bottom: 1px solid #ccc;
}

body.portal .gallery {
	width: 100%;
	padding: 0;
	font-size: 0;
}

body.portal .comparison {
	margin-bottom: var(--spacing-small);
}

body.portal .comparison img {
	width: 100%;
}

body.portal .comparison .column_left {
	padding-right: 5px;
}
body.portal .comparison .column_right {
	padding-right: 0;
	padding-left: 5px;
}


/* About
oooooooooooooooooooooooooooooooooooooooooooooooooo */
/*body.about h1 {
	padding: var(--spacing-large) var(--spacing-medium) 0 var(--spacing-medium);
}*/



/* Development
oooooooooooooooooooooooooooooooooooooooooooooooooo */
.red_border {
	border: 1px solid #F00;
}

/* Media Queries
oooooooooooooooooooooooooooooooooooooooooooooooooo */
@media screen and (max-width:1024px) {

	nav ul li {
		font-size: 16px;
	}
	nav ul a {
		padding: 20px 40px 14px 40px;
	}
	header .name {
		font-size: 26px;
	}
	h1 {
		font-size: 52px;
	}

	p {
		font-size: 16px;
	}
	/*header .name {
		margin-top: 14px;
	}*/

	.home .introduction .name {
		font-size: 40px;
	}
	.home .introduction .job_title {
		font-size: 28px;
	}
	.home .introduction .location {
		font-size: 18px;
	}
	.home .introduction .column_right {
		/*width: 30%;
		min-width: 200px;*/
		height: 300px;
	}
	.home .introduction .name_container {
		padding: var(--spacing-medium) var(--spacing-small) var(--spacing-medium) var(--spacing-medium);
	}
	.home .summary {
		padding: var(--spacing-small) var(--spacing-medium) var(--spacing-small) var(--spacing-medium);
	}
	.process .details .button {
		font-size: 16px;
	}

}

@media screen and (max-width:768px) {
	
	header .name {
		font-size: 22px;
	}
	h1 {
		font-size: 36px;
	}
	/*p {
		font-size: 12px;
	}*/
	.button {
		padding: 12px 50px;
		/*border-radius: 15px;*/
		font-size: 20px;
	}
	.home .introduction .job_title {
		font-size: 22px;
		/*color: white;*/
		text-shadow: 2px 1px 0 rgba(0,0,0,0.5);
	}
	.home .introduction .location {
		/*color: white;*/
		font-size: 14px;
	}
	.home .introduction .column_right {
		width: 40%;
		height: 200px;
	}
	.process .details .button {
		padding: 10px 20px 10px 20px;
	}

	.process .steps span {
		display: inline-block;
	}
	.process .category {
		display: none;
	}

}

@media screen and (max-width:600px) {
	header .name {
		display: none;
	}
	.home .introduction .column_left {
		display: block;
	}
	.home .introduction .column_right {
		display: block;
	}
	.home .introduction p {
		font-size: 14px;
	}
	.button {
		margin-bottom: var(--spacing-medium);
	}

	.process .details {
		display: none;
	}

	.process .steps ul ul li {
		display: list-item;
	}

	.educator img {
		width: 100%;
	}
	.home .summary {
		padding: var(--spacing-small) 220px var(--spacing-small) var(--spacing-medium);
		background: url(../images/portrait.jpg) no-repeat center right;
		background-size: 200px;
	}
	.home .introduction .column_right {
		display: none;
	}

	.home .educator .column_left {
		display: block;
	}
	.home .educator .column_right{
		display: block;
	}

	.home .educator .column_right {
		width: 80%;
		/*min-width: 270px;*/
		/*height: 100%;*/
		max-width: initial;
		/*height: 300px;*/
		/*background-color: blue;*/
		padding: 0;
		/*padding-right: var(--spacing-medium);*/
	}
}

@media screen and (max-width:400px) {

}
