body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li, dl, dt, dd, form, a, fieldset, input, th, td { margin: 0; padding: 0; border: 0; outline: none; } html { box-sizing: border-box; font-size: 10px; } *, *:before, *:after { box-sizing: inherit; } a, a:hover, a:visited { color: black; text-decoration: none; } body { font-family: 'Nunito Sans', sans-serif; } ul { list-style-type: none; } .font-light { font-weight: 300; font-size: 1.5rem; } /* Full image modal */ #modal { width: 100%; height: 100%; left: 0; top: 0; position: fixed; background-color: rgba(0, 0, 0, 0.35); text-align: center; overflow-y: scroll; } #modal img { max-width: 80%; padding: 50px 0; } header h1 { font-family: 'Open Sans Condensed', sans-serif; text-align: center; margin: 2rem 0; font-size: 5rem; font-weight: 300; margin: 4.5rem 0 3.5rem; } .mobile { display: none; } main { display: grid; grid-template-columns: 1fr 3fr 1fr; } main.works { grid-template-columns: 1fr 2.5fr 1fr; margin-top: 3rem; } .works header { text-align: center; display: flex; align-items: center; justify-content: center; width: 100%; } .works header i { font-size: 2.5rem; padding: 3rem; font-weight: bold; } #left { padding-left: 0; } #right { padding-right: 0; } #left:hover, #right:hover { cursor: pointer; color: grey; } .works section > p { text-align: justify; margin-bottom: 1.5rem; } aside { margin: 0 auto; } aside ul { margin-left: 12rem; } aside ul li { font-size: 1.5rem; padding-bottom: 0.5rem; } section { display: flex; flex-wrap: wrap; } section .project { width: 33.3%; padding: 3px; } section .project a { display: block; position: relative; line-height: 0; } .project-hover { line-height: normal; position: absolute; top: 28%; bottom: 0; left: 0; right: 0; height: 60px; width: 100%; opacity: 0; transition: .5s ease; background-color: rgba(0, 0, 0, 0.35); } section .project a:hover .project-hover { opacity: 1; } .text-over-image { position: absolute; top: 20px; color: white; text-align: center; font-size: 1rem; font-weight: 300; text-transform: uppercase; width: 100%; } section img { width: 100%; height: auto; } section.bio { display: block; margin: 0 1rem 1rem 1rem; } section.bio ul.line { padding-left: 0.5rem; list-style-type: '-'; } section.bio ul.line li { padding-left: 0.3rem; } section.bio h2 { margin-top: 2rem; } section.bio p, section.bio li { font-size: 1.5rem; } /* Media queries */ @media screen and (max-width: 900px) { section .project { width: 100%; padding: 0; } .project-hover { top: 35%; height: 33%; } .text-over-image { font-size: 2rem; top: 40%; } } @media screen and (max-width: 650px) { section.bio { margin-top: 2rem; } main.works { margin-top: 1rem; } .works header img { width: 100%; } #left, #right { display: none; } header h1 { font-size: 5rem; } .mobile { display: block; text-align: center; } ul.mobile { margin-left: 0; margin-bottom: 1rem; } .mobile li { display: inline-block; } .wide { display: none; } main { display: block; } .works section { justify-content: center; } .works section h2, .works section p { width: 90%; } section .project { width: 100%; padding: 0; margin-bottom: 3px; } .works header #visible { opacity: 1; transition: opacity 0.2s ease-in; } .works header #visible.visible { opacity: 0; transition: opacity 0.2s ease-out; } } /* Wide screens */ @media screen and (min-width: 1400px) { .project-hover { top: 36%; height: 80px; } .text-over-image { font-size: 2rem; top: 28%; } }