/* ORIGINAL PORTFOLIO CREATED BY BRIAN HO https://github.com/mrbrianhobo */

/* Grid Elements */
.span_12_of_12 {
	width: 100%;
}

.span_11_of_12 {
	width: 91.33%;
}

@media screen and (max-width: 750px) {
	.span_11_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_11_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_10_of_12 {
	width: 82.66%;
}

@media screen and (max-width: 750px) {
	.span_10_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_10_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_9_of_12 {
	width: 74%;
}

@media screen and (max-width: 750px) {
	.span_9_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_9_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_8_of_12 {
	width:65.33%;
}

@media screen and (max-width: 750px) {
	.span_8_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_8_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_7_of_12 {
	width: 56.66%;
}

@media screen and (max-width: 750px) {
	.span_7_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_7_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_6_of_12 {
	width: 48%;
}

@media screen and (max-width: 750px) {
	.span_6_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_6_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_5_of_12 {
	width: 39.33%;
}	

@media screen and (max-width: 750px) {
	.span_5_of_12 {
		width: 100%;
		margin-bottom: 30px;		
	}
	.span_5_of_12:last-child {
		margin-bottom: 0px;
	}
}
.span_4_of_12 {
	width: 30.66%;
}

@media screen and (max-width: 750px) {
	.span_4_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_4_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_3_of_12 {
	width: 22%;
}

@media screen and (max-width: 750px) {
	.span_3_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_3_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_2_of_12 {
	width: 13.33%;
}

@media screen and (max-width: 750px) {
	.span_2_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_2_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_1_of_12 {
	width: 4.666%;
}

@media screen and (max-width: 750px) {
	.span_1_of_12 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_1_of_12:last-child {
		margin-bottom: 0px;
	}
}

.span_5_of_5 {
	width: 100%;
}

@media screen and (max-width: 750px) {
	.span_5_of_5 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_5_of_5:last-child {
		margin-bottom: 0px;
	}
}

.span_4_of_5 {
	width: 79.6%;
}

@media screen and (max-width: 750px) {
	.span_4_of_5 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_4_of_5:last-child {
		margin-bottom: 0px;
	}
}

.span_3_of_5 {
	width: 59.2%;
}

@media screen and (max-width: 750px) {
	.span_3_of_5 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_3_of_5:last-child {
		margin-bottom: 0px;
	}
}

.span_2_of_5 {
	width: 38.8%;
}

@media screen and (max-width: 750px) {
	.span_2_of_5 {
		width: 100%;
		margin-bottom: 30px;
	}
	.span_2_of_5:last-child {
		margin-bottom: 0px;
	}
}

.span_1_of_5 {
	width: 18.4%;
}

@media screen and (max-width: 750px) {
	.span_1_of_5 {
		width: 100%;
		margin-bottom: 30px;
	}

	.span_1_of_5:last-child {
		margin-bottom: 0px;
	}
}

.container {
	width: 1150px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.container:after {
	content: " ";
	display: block;
	clear: both;
} 

@media screen and (max-width: 1200px) {
	.container {
		width: 85%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 600px) {
	.container {
		width: 88%;
		margin-left: auto;
		margin-right: auto;
	}
}

.container.nav {
	position: absolute;
	z-index: 999999;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
}

.section {
	clear: both;
	padding: 0px;
	margin: 0px;
}

.col {
	display: block;
	float: left;
	margin: 1% 0 1% 4%;
}

.col:first-child {
	margin-left: 0;
}

#section-one .col:first-child{
	margin-top: 10%;
}

.school-names {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: large;
}

#about .section.group .col:first-child {
	position: sticky;
    top: 30vh;
}

.section.group .col:nth-child(2) {
	
}

@media screen and (max-width: 750px) {
	.col {
		margin: 1% 0 1% 0%;
	}

	#about .section.group .col:first-child {
		position: static;
	}

	.container > section {
		margin-top: 200px;
	}
}

.group:before,.group:after {
	content: "";
	display: table;
}

.group:after {
	clear: both;
}

.group {
	zoom: 1;
}

/* HTML Elements */
body {
	height: 100%;
	background-color: #fbfbfb;
	/*font-family:'Work Sans',sans-serif;*/
	font-family: 'Inconsolata', monospace;
	margin: 0;
	padding: 0;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-weight: 400;
}

h1 {
	font-size: 31px;
	color: #777777;
	font-weight: 700;
	text-align: center;
	line-height: 2;
	letter-spacing: 2px;
}

@media screen and (max-width: 1010px) {
	h1 {
		font-size: 25px;
	}
}

@media screen and (max-width: 560px) {
	h1 {
		font-size: 20px;
	}
}

h2 {
	font-size: 20px
}

p {
	font-size: 16px;
	letter-spacing: 0.5px;
	line-height: 1.6;
}

nav {
	margin-top: 40px;
	color: black;
	font-size: 18px
}

@media screen and (max-width: 745px) {
	nav {
		margin-bottom: 150px;
	}
}

nav a {
	color: black;
}

nav .logo {
	display: inline-block;
	font-weight: 500;
	position: absolute;
	float: left;
}

nav ul {
	margin: 0px;
}

nav ul li {
	display: inline-block;
}

nav ul li a {
	color: rgba(138, 140, 142,.8);
	padding: 6px;
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}

nav ul li a:hover {
	color: #2b97ef;
	background-color: rgba(77,171,247,.1);
}

nav ul.centernav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 175px;
	text-align: center;
	margin: 0px auto;
	display: block;
	padding: 0px;
}

@media screen and (max-width: 550px) {
	nav ul.centernav li {
		opacity: 0;
	}
}

nav ul.centernav li:first-child {
	margin-left: 0;
}

nav ul.sidenav {
	float: right;
	margin-top: -21px;
}

nav ul.sidenav a {
	color: rgba(138, 140, 142,.8);
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}

nav ul.sidenav a:hover {
	color: #2b97ef;
}

/* Header Section */
.header {
	padding-top: 240px;
	margin-bottom: 150px;
	height: fit-content;
} 

@media screen and (max-width: 750px) {
	.header {
		padding-top: 160px;
	}
}

.header h1 {
	width: 100%;
	align-items: center;
	margin: 0px;
	animation-duration: 4s;
	-webkit-animation-delay: 0.5s
}

@media screen and (max-width: 1200px) {
	.header h1 {
		width: 100%;
	}
}

/* @media screen and (min-width: 1200px) {
	.container > section {
		margin-top: 600px !important;
	}
} */

@media screen and (max-width: 836px) {
	.header h1 {
		width: 95%;
	}
}

@media screen and (max-width: 745px) {
	.header h1 {
		width: 100%;
	}
}

.header .work-line {
	-webkit-animation-delay: 1s;
}

.header .vertcial-line {
	margin: 50px auto 30px auto;
	width: 60%;
	height: 40px;
	position: relative;
	text-align: center;
}

.header .vertcial-line:after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 50%;
	border-left: 2px solid black;
}

.header h4 {
	font-size: 20px;
	text-align: center;
	letter-spacing: 1px;
}

@media screen and (max-width: 745px) {
	.header h4 {
		font-size: 18px;
	}
}

.clip {
	display: block;
	margin: -30px auto 0 auto;
	width: 100%;
}

.links {
	font-size: 20px;
	margin-top: 2em;
	text-align: center;
}

.links a {
	margin: 0 10px;
}

.typed {
	white-space: nowrap;
}

/* About Section */
#about {
	margin-top: 150px;
	padding-bottom: 50px;
	height: fit-content;
}

.about {
	animation-duration: 2.5s;
}

.about .role {
	padding-left: 10px;
	margin-bottom: 5px;
	display: inline-block;
}

@media screen and (max-width: 1010px) {
	.about .role {
		padding-left: 0px;
	}
}

.about .date {
	margin-left: 60px;
	margin-top: -5px;	
}

@media screen and (max-width: 1010px) {
	.about .date {
		margin: 0px;
	}
}

.about img {
	vertical-align: middle;
}

.about a,.header a {
	color: #2b97ef;
	background-color: rgba(77,171,247,.1);
}

.about a:hover,.header a:hover {
	color: #777777;
	background-color: rgba(138, 140, 142,.1);
	transition: all .3s ease-in-out;
}

.about .logo {
	float: left;
	margin-top: 10px;
	height: 50px;
	width: 50px;
	background-color: #fff;
	border-radius: 0.5em;
	box-shadow: 0 0.25em 1em rgba(7,29,63,0.25);
	transition: all 300ms cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.about .logo:hover {
	-webkit-transform: translateY(-0.25em);
	transform: translateY(-0.25em);
	box-shadow: 0 0.5em 2em rgba(7,29,63,0.25);
}

.about .consensys {
	background-color: #2c56dd;
}

.about .udacity {
	background-color: #02b3e4;
}

.about .bab {
	background-color: #3d3d3d;
}

.about .innod {
	background-color: #0693c0;
	/*background-color: #4a4a4a;*/
}

@media screen and (max-width: 1010px) {
	.about .logo {
		display: none;
	}
}

.headshot {
	width: 80%;
	border-radius: 0.5em;
	box-shadow: 0 0.5em 2em rgba(7,29,63,0.4);
	display: block;
	margin: 20px auto;
	transition: all 300ms cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

.headshot:hover {
	-webkit-transform: translateY(-1em);
	transform: translateY(-1em);
	box-shadow: 0 1em 4em rgba(7,29,63,0.4);
}

.first-elem {
	margin-bottom: 0px;
}

.elem {
	margin-top: 0px;
	margin-bottom: 0px;
}

.last-elem {
	margin-top: 0px;
}

.justify {
	text-align: justify;
}

.courses {
	margin: 0px;
	animation-duration: 1s;
}

.course {
	margin: 0px;
}

.course p {
	margin: 0px;
}

/* Footer Section*/
footer a {
	color: black;
}

footer h3 {
	text-align: left;
	font-size: 22px;
	margin-top: 0px;
	margin-bottom: 30px;
}

footer p {
	line-height: 2;
}

footer p.about-text {
	width: 90%;
}

footer ul {
	float: right;
	margin: 0px;
	padding: 0px;
}

footer ul li {
	list-style-type: none;
	display: inline-block;
	margin-left: 40px;
}

footer ul li:first-child {
	margin-left: 0px;
}

@media screen and (max-width: 750px) {
	footer ul {
		float: none;
		padding-bottom: 20px;
	}
}

footer .footer-content {
	margin-top: 150px;
	margin-bottom: 100px;
} 

@media screen and (max-width: 750px) {
	footer .footer-content {
		margin-top: 100px;
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 550px) {
	footer .footer-content {
		margin-top: 60px;
		margin-bottom: 40px;
	}
}

footer .bottom-footer {
	margin-top: 80px;
}

@media screen and (max-width: 750px) {
	footer .bottom-footer {
		margin-top: 40px;
	}
}

footer .bottom-footer p {
	font-size: 14px;
}

footer .icons {
	font-size: 2em;
}

footer .content {
	padding-bottom: 100px;
	text-align: center;
}

.content a {
	color: rgba(138, 140, 142,.8);
	-webkit-transition: all 0.4s ease-in-out;
	-moz-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}

.content a:hover {
	color: #2b97ef;
}

.thought {
	padding-left: 25px;
	margin-bottom: 0px;
}

.thinking {
	margin-top: 0px;
}

.emoji {
	line-height: 0px;
	font-size: 20px;
}

/* Common styles for all menus */
.menu {
	line-height: 1;
	margin: 0 auto 1em;
}

.menu__list {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
	justify-content: center;
}

.menu__item {
	display: block;
	font-size: 16px;
}

.menu__link {
	font-size: 1.05em;
	display: block;
	padding: 1em;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.menu__link:hover,
.menu__link:focus {
	outline: none;
}

/* Prospero */
.menu--prospero .menu__link {
	position: relative;
	display: block;
	margin: 0 1.5em;
	padding: 0.75em 0;
	text-align: center;
	color: #b5b5b5;
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

.menu--prospero .menu__link:hover,
.menu--prospero .menu__link:focus {
	color: #929292;
	background-color: transparent;
}

.menu--prospero .menu__item--current .menu__link {
	color: #2b97ef;
}

.menu--prospero .menu__link::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #2b97ef;
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transition: -webkit-transform 0.1s;
	transition: transform 0.1s;
}

.menu--prospero .menu__item--current .menu__link::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	-webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}

/* Scroll Down Button */
button{font:inherit;border:1px solid #212529;color:inherit;line-height:inherit;background:none}
button:focus{outline:none}

.o-icon{position:relative;display:inline-block;vertical-align:middle;width:1.2rem;height:1.2rem;margin:0 .3rem;top:-.1rem;fill:currentColor}
.o-icon__svg{display:inline-block;vertical-align:top;width:100%;height:100%}
.o-icon:first-child{margin-left:0}
.o-icon:last-child{margin-right:0}
.o-icon use>svg circle,.o-icon use>svg g,.o-icon use>svg path,.o-icon use>svg rect,body>svg circle,body>svg g,body>svg path,body>svg rect,symbol circle,symbol g,symbol path,symbol rect{fill:currentColor;stroke:none}
.o-icon use>svg [d="M0 0h24v24H0z"],body>svg [d="M0 0h24v24H0z"],symbol [d="M0 0h24v24H0z"]{display:none}

@-webkit-keyframes scrollButton{0%{-webkit-transform:translateY(0);transform:translateY(0)}
to{-webkit-transform:translateY(-20%);transform:translateY(-20%)}
}
@keyframes scrollButton{0%{-webkit-transform:translateY(0);transform:translateY(0)}
to{-webkit-transform:translateY(-20%);transform:translateY(-20%)}
}
.m-home-banner__scroll-button{margin-top:50px;position:relative;display:block;text-indent:4;bottom:0;left:50%;width:3rem;height:3rem;margin-left:-1.5rem;color:#4dabf7;border:none;padding:.5rem;-webkit-animation:scrollButton 1s infinite alternate cubic-bezier(.175,.885,.32,1.4);animation:scrollButton 1s infinite alternate cubic-bezier(.175,.885,.32,1.4)}
.m-home-banner__scroll-button:after{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(77,171,247,.1);border-radius:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s cubic-bezier(.175,.885,.32,1.4);transition:-webkit-transform .2s cubic-bezier(.175,.885,.32,1.4);transition:transform .2s cubic-bezier(.175,.885,.32,1.4);transition:transform .2s cubic-bezier(.175,.885,.32,1.4),-webkit-transform .2s cubic-bezier(.175,.885,.32,1.4)}
.m-home-banner__scroll-button:hover:after{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}
.m-home-banner__scroll-button .o-icon{width:100%;height:100%}

/* Project Cards */
.card{margin-bottom:1.5em;background-color:#FFFFFF;border-radius:0.5em;box-shadow:0 0.25em 1em rgba(7,29,63,0.125);transition:all 300ms cubic-bezier(0.16, 0.68, 0.43, 0.99);}
@media only screen and (min-width: 40.0625em){.card{margin-bottom:0}
}
li:last-child .card{margin-bottom:0}
@media only screen and (min-width: 75.0625em){.card:hover{-webkit-transform:translateY(-0.5em);transform:translateY(-0.5em);box-shadow:0 0.5em 2em rgba(7,29,63,0.125)}
}
.card__image{margin:0;position:relative;display:flex;overflow:hidden;border-top-left-radius:0.5em;border-top-right-radius:0.5em}
.card__image img{width:100%;height:100%;transition:-webkit-transform 600ms cubic-bezier(0.16, 0.68, 0.43, 0.99);transition:transform 600ms cubic-bezier(0.16, 0.68, 0.43, 0.99);transition:transform 600ms cubic-bezier(0.16, 0.68, 0.43, 0.99), -webkit-transform 600ms cubic-bezier(0.16, 0.68, 0.43, 0.99)}
@media only screen and (min-width: 75.0625em){.card:hover .card__image img{-webkit-transform:scale(1.125);transform:scale(1.125)}
}
.card__text{position:relative;padding:1em 1.5em 1.25em}
@media only screen and (min-width: 40.0625em){.card__text{padding:1.25em 1.5em}
}
@media only screen and (min-width: 75.0625em){.card__text{padding:1.5em 2em}
}
.card__icon{position:absolute;overflow:hidden;top:-1em;right:2em;width:2em;height:2em;border-radius:50%;background-color:#FFFFFF;box-shadow:0 0.25em 1em rgba(7,29,63,0.125)}

.card__arrow{display:inline-block;vertical-align:middle;box-sizing:initial}
.card__arrow{margin-top:0.35em;margin-left:0.125em}
.card:hover .card__arrow{-webkit-animation:arrowLoop 450ms;animation:arrowLoop 450ms}

@-webkit-keyframes arrowLoop{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}
49%{-webkit-transform:translateX(1em);transform:translateX(1em);opacity:0}
50%{-webkit-transform:translateX(-1em);transform:translateX(-1em);opacity:0}
100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}
}
@keyframes arrowLoop{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}
49%{-webkit-transform:translateX(1em);transform:translateX(1em);opacity:0}
50%{-webkit-transform:translateX(-1em);transform:translateX(-1em);opacity:0}
100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}
}
.card__arrow:before,.card__arrow:after{content:"";position:relative;display:inline-block;vertical-align:middle;box-sizing:initial}
.card__arrow:before{right:-7px;width:14px;height:1px;background-color:#1690ed}
.card__arrow:after{width:6px;height:6px;background-color:transparent;border-top:1px solid #1690ed;border-right:1px solid #1690ed;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.card__title{margin-top:0;color:#0D2451;font-size:1.375rem;font-weight:500;line-height:1.25}
@media only screen and (min-width: 40.0625em){.card__title{min-height:3.4375rem}
}
@media only screen and (min-width: 60.0625em){.card__title{min-height:initial}
}
.card__description{margin-bottom:0;color:#4A5B7D;font-size:0.875rem;font-weight:400}

