*, ::before, ::after {
  box-sizing: border-box;
}

* {
  margin:0;
  padding:0;
}

body {
	background: rgb(216, 216, 216);
	font-family: monospace;
	font-size: 1.2rem;
	color:rgb(26, 26, 26);
	text-align: center;
}

h1 {
	font-weight: bold;
	font-size: 3rem;
	padding:5px 0px;
}

h2 {
	font-weight: bold;
	font-size: 2rem;
}

main {
	margin:0px auto;
	position: relative;
	max-width: 900px;
	min-height:100vh;
}

section {
	margin:0px auto;
}

footer {
	max-width:900px;
	margin: 0px auto;
	font-size: 15px;
	padding:20px;
}

header {
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

header #headshot {
	width:180px;
	height:180px;
	border-radius: 50%;
	box-shadow: 0px 2px 5px rgb(166, 166, 166);
}

header .text-container {
	padding:20px;
	margin-bottom:10px;
}

header p {
	padding:5px 0px;
	font-size: 2rem;
	font-family: monospace;
}

header a {
	font-size: 3rem;
	color:rgb(26, 26, 26);
	font-weight: bold;
	text-decoration: none;
}

header .text {
	text-align:left;
}

header {
	animation: fadeInAnimation ease 3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
     }
}

#what {
  background-color: darkgray;
}

#knowledge {
	padding:20px;
	text-align: center;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	align-items: center;
	max-width: 900px;
}

#projects {
	padding:20px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

#knowledge .list,
#projects ul {
    vertical-align: top;
    margin:20px;
	text-align: left;
	padding:20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#projects ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

#knowledge .list {
	display: inline-block;
	border-radius:20px;
	max-width: 100%;
	box-shadow: 0px 2px 5px #aaa;
	width:190px;
	background:#eee;
}

#knowledge h3 {
    padding-bottom:10px;
}

#projects li {
	list-style: none;
	box-shadow: 0px 2px 5px #aaa;
    padding:10px;
	margin:10px;
	border-radius: 10px;
	background:#eee;
	color: rgb(128, 128, 128);
}

#knowledge li {
	font-size: 1rem;
	padding: 10px;
	color:rgb(26, 26, 26);
	margin-left:18px;
}

#knowledge a {
	color:rgb(26, 26, 26);
	text-decoration: none;
	padding:0px 5px 5px 0px;
}

#knowledge a:hover {
	text-decoration: underline;
}

#projects ul {
	margin:0px auto;
}

#projects li a {
	display: block;
	text-decoration: none;
	color:rgb(26, 26, 26);
}

.semester {
	text-align: left;
	margin:40px auto;
}

.semester article,
.semester h2 {
	margin:10px;
}

#Info {
	margin-bottom:60px;
}

#Info p {
	text-align: left;
	padding: 10px;
}

.location h2.sticky {
	padding-top:10px;
	position: sticky;
	top:50px;
	background: #d8d8d8;
}

/* Logo styling - top right */
#logo {
    color: rgb(26, 26, 26);
    top:10px;
	height:30px;
	position: absolute;
	right: 20px;
	z-index: 2;
}

#logo div {
    float: left;
    margin-left:10px;
}

#logo div p {
    font-size: 8px;
    padding: 0px;
    margin: 0px;
}

#logo span {
    font-size: 15px;
    -ms-transform: rotate(7deg);
    -webkit-transform: rotate(7deg);
    transform: rotate(7deg);
    float:left;
	margin-left:20px;
	font-weight:bold;
}

#github-link {
	color: #707070;
    top:10px;
	height:30px;
	width:30px;
	position: absolute;
	left: 10px;
	z-index: -1;
}

#github-link img {
	width:100%;
}

.project {
	box-shadow:0px 2px 2px #ccc;
	max-width: 400px;
	padding:10px;
}

.project h3 {
	display: inline-block;
	padding:5px;
}

/* */
.nft {
	margin:20px;
	/* max-width:200px; */
}

#nfts nft-card {
	max-width:100px;
}

/* */
#certs a {
	width:120px;
	height:120px;
	margin:5px;
	display: inline-block;
	transition: all 0.5s ease-in-out;
}

#certs img {
	transition: all 0.5s ease-in-out;
	max-width: 100%;
	max-height: 100%;
}

@media screen and (max-width:600px) {
	#knowledge .list,
	#projects ul {
		display: inline-block;
		margin:20px;
		max-width:200px;
	}
	h4.full {
		display: none;
	}
	h4.abrv {
		display: block;
	}
	#certs a {
		width:80px;
		height:80px;
	}
}
