a:link {color: #06f;} a:visited {color: rgb(147, 85, 197)} .button, .button:link, .button:visited { width: 100%; @media (min-width: 33.75em) { width: max-content; } font-size: clamp(1em,2vw,1em); padding: 1em; display: flex; justify-content: center; align-items: center; text-decoration: none; border-radius: 0.25em; font-weight: 700; gap: 1em; } .button.primary { background: #06f; color: white; } .button.secondary { background: white; border: 2px solid #06f; color: #06f; } @mixin pullquote { content: attr(data-pullquote); font-size: 1em; line-height: 1.2; display: flex; font-family: serif; color: #555; padding: 1em; font-size: 1.25em; } .has-pullquote{ &.before:before { @include pullquote; margin-bottom: 1rem; } &.after:after { @include pullquote; margin-top: 1rem; } } #praise { .title:before { content: 'praise'; } .testimonials { display: flex; flex-flow: row wrap; gap: 2em; justify-content: center; } .testimonial { display: grid; grid-template-areas: "b b" "a n"; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 1em; width: 18em; } .avatar { grid-area: a; margin-left: 1em; width: 4em; height: 4em; border-radius: 100em; background: #212121; } .name { grid-area: n; align-self: center; } .bubble { grid-area: b; background: #212121; color: white; padding: 0.5em; border-radius: 0.5em; position: relative; grid-column: span 2; min-height: 80px; display: flex; justify-content: center; align-items: center; text-align: center; line-height: 1.4; width: 100%; } .bubble:after { content: ''; position: absolute; width: 0; height: 0; border: 0.5em solid transparent; border-top-color: #212121; bottom: -1em; left:2.5em; } } #intro { --headerHeight: 4em; --navHeight: 4em; background-color: #00234F; color: white; background-image: url('/images/puzzlehead.svg'); background-size: contain; background-position-x: center; background-position-y: bottom; background-repeat: no-repeat; min-height: calc(100vh - var(--headerHeight) - var(--navHeight)); min-height: calc(var(--vh, 1vh) * 100 - var(--headerHeight) - var(--navHeight)); @media (min-width: 960px) { min-height: calc(100vh - var(--headerHeight)); min-height: calc(var(--vh, 1vh) * 100 - var(--headerHeight)); } padding: 0; display: flex; flex: 1; .container { position: relative; padding: 1em; } .tagline { font-size: 1.5em; font-weight: 700; em {color: #0f6;font-style: italic;} margin-bottom: 0.7rem; line-height: 1.1; } .blurb { margin-bottom: 1.75em; max-width: 30ch; font-size: 1.1em; line-height: 1.4; } // TODO: matrix of weird sizes for intro breakpoints // // END: matrix of weird sizes for breakpoints .button { background: #06f; color: white; width: max-content; i {margin: 0;} span {display: none;} @media (min-width: 30em) { span {display: block;} padding: 1em 2em; } border-radius: 100em; position: absolute; bottom: 1em; right: 1em; box-shadow: 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11); } }