@import url('https://fonts.googleapis.com/css?family=Public+Sans&display=swap'); @import "colours.less"; @fa-font-path: "../webfonts"; @import "../../node_modules/@fortawesome/fontawesome-free/less/fontawesome.less"; @import "../../node_modules/@fortawesome/fontawesome-free/less/solid.less"; * { box-sizing: border-box; outline: none; transition: all 0.2s ease; } html { width: 100%; height: 100%; background: url(/images/background.png); } html, body { padding: 0; margin: 0; font-family: 'Public Sans', sans-serif; color: #333; } body { max-width: 1280px; min-height: 100%; margin: auto; background: white; display: flex; flex-direction: column; } a { color: @primary; position: relative; text-decoration: none; background: linear-gradient(to bottom, @primary 0%, @primary 0%); background-position: 0 100%; background-size: 0px 0px; background-repeat: repeat-y; transition: all 0.3s ease-in-out 0s; &:hover { color: white; background-size: 100% 100%; } &[href^="http"] { &:after { .fa-icon; .fas; content: @fa-var-external-link-alt; margin-left: 5px; } } } h1, h2, h3, h4, h5, h6 { &:first-child { margin-top: 0; } a { color: inherit; text-decoration: underline; &:hover { text-decoration: none; } } } .header { padding: 40px 30px; display: flex; align-items: center; justify-content: space-between; position: relative; background-color: black; overflow: hidden; &:before { content: ""; position: absolute; background: url(/images/header.jpg) no-repeat; background-size: cover; background-position: center; top: -2px; bottom: -2px; left: -2px; right: -2px; filter: blur(2px); } &__blurb { background-color: fade(white, 80%); color: black; padding: 30px; width: 50%; z-index: 0; display: block; &__title { font-size: 32px; text-decoration: none; font-weight: bold; } &__tagline { display: block; } } &__headshot { flex: 0 0 auto; background: url(/images/headshot.jpg) center no-repeat; background-size: cover; width: 200px; height: 200px; border: 5px solid white; border-radius: 50%; box-shadow: 0px 0px 5px 0px rgba(0,0,0,1); z-index: 0; } } #content { display: flex; width: 100%; main { flex: 1 1 auto; padding: 30px; overflow: hidden; } nav { flex: 0 0 250px; border-left: 1px solid @Grey-400; margin: 20px 0; padding: 0 10px; #menu-toggle, [for="menu-toggle"] { display: none; } .nav-list{ list-style-type: none; margin: 0; padding: 0; &__link{ margin-bottom: 10px; } } } } footer { padding: 20px; margin-top: auto; .logo { background: url(/images/logo.png) no-repeat center; background-size: contain; height: 32px; } } button, .button { background: @accent; border: none; box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.25); padding: 10px 20px; border-radius: 50px; color: white; font-weight: bold; } .round-button { border-radius: 50%; background: @accent; padding: 0; width: 40px; height: 40px; border: none; box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.25); margin: 10px; display: flex; justify-content: center; align-items: center; } form { .form-row { margin: 5px 0; } } @import "blog.less"; @media screen and (max-width: 992px) { #content { flex-direction: column-reverse; main { padding-top: 0; } nav { flex: 1 1 auto; border:none; margin: 0; padding: 30px; .nav-open { filter: invert(100%); width: 32px; height: 32px; } #menu-toggle:checked + .nav-container{ max-height: 1000px; margin-top: 20px; opacity: 1; } [for="menu-toggle"] { display: inline; } .nav-container{ max-height: 0; overflow: hidden; transition:all 0.5s ease-out; opacity: 0; } .strava { display: none; } } } .header{ padding: 20px 10px; &__blurb { padding: 20px 10px; } &__headshot{ width: 40vw; height: 40vw; max-width: 200px; max-height: 200px; } } }