body { font-family: "Source Sans Pro", "Fira Sans", Roboto, sans-serif; line-height: 1.2; background: #fff5f0; margin: 0; padding: 2vmin; padding-bottom: 0; box-sizing: border-box; min-height: 100vh; } a { color: #1d125f; } a:visited { color: #48122d; } a:hover { text-decoration: none; } body { display: grid; grid-template-columns: auto; grid-template-rows: auto auto auto auto 1fr; grid-template-areas: "header" "blog" "projects" "social" "footer"; align-items: start; } header { grid-area: header; } #blog { grid-area: blog; } #projects { grid-area: projects; } #social { grid-area: social; } footer { grid-area: footer; align-self: end; } @media (min-width:500px) { section { font-size: 125%; } } @media (min-width:900px) or ((min-aspect-ratio:1/1) and (min-width:300px)) { body { grid-template-columns: 1fr 2fr; grid-template-rows: auto; grid-template-areas: "header blog" "header projects" "social projects" "footer footer"; gap: 1em 3em; } header { grid-area: header; } footer { align-self: end; } } @media (min-width:900px) { body { padding: 2em 2em 0; } section { font-size: 150%; } } @media (min-width:1500px) { body { padding: 4em 4em 0; grid-template-columns: 1fr 2fr 2fr; grid-template-areas: "header blog projects" "social blog projects" "footer footer footer"; gap: 1em 4em; } } .wordmark { /* Font size determines the size of the midgard word mark */ line-height: 1; font-family: "Roboto Slab", serif; font-weight: 300; color: black; text-decoration: none; text-align: left; display: inline-block; width: 3.4em; } .wordmark span { display: block; } .wordmark span:last-child { text-align: right; } .wordmark span:last-child:before { content: " "; display: block; width: 3em; height: 1px; border-bottom: 0.055em solid black; margin-top: 0.04em; margin-bottom: -0.17em; } a:hover .wordmark span:first-child, a.wordmark:hover span:first-child { color: #a67b96; } a:hover .wordmark span:last-child, a.wordmark:hover span:last-child { color: #c28b88; } a:hover .wordmark span:last-child:before, a.wordmark:hover span:last-child:before { border-bottom-color: #e0c3d9; } header { background-color: #fff; } header img { width: 25vmin; height: 25vmin; display: inline-block; } h1 { margin: 0; margin-left: 0.3em; display: inline-block; font-size: 12vmin; } header img, h1 { vertical-align: middle; } @media (min-width:900px) or ((min-aspect-ratio:1/1) and (min-width:300px)) { header { background-color: transparent; } header img { width: 27vmin; height: 27vmin; display: block; } h1 { margin: 0.3em 0 0 0; display: block; font-size: 8vmin; } } @media (min-width:1500px) { header img { width: 250px; height: 250px; display: block; } h1 { margin: 0.3em 0 0 0; display: block; font-size: 56pt; } } ul { padding: 0; } li { list-style: none; margin: 1.5em 0; } li a { display: block; text-decoration: none; padding: 0.2em 0.3em; margin: 0 -0.3em; } li a:hover, li a:focus { background-color: #fffaf7; } a .summary { font-size: 75%; color: #333; margin-top: 0.3em; } a .title { text-decoration: underline; } aside { } #social a { display: inline-block; width: 4em; text-align: center; text-decoration: none; color: #000; opacity: 0.7; } #social a:hover { opacity: 1; } #social a:before { content: " "; width: 3em; height: 3em; display: inline-block; background-size: contain; } #social a:hover:before { background-color: #fff; } #rss-link:before { background-image: url(rss.svg); } #irc-link:before { background-image: url(irc.svg); } footer { text-align: center; background-color: #dbc7d7; padding: 0.3em; }