.page { // Prevents horizontal scrollbars from appearing on the page. // This happens because of the masked (but not overflow: hidden) carousel images. overflow: hidden; } // ▛ LOGO ▜ #logo { display: flex; img { width: auto; max-width: 100%; max-height: 240px; } } // ▙ LOGO ▟ .pencil-texture { position: absolute; --remaining-width-to-full: calc(var(--max-width-plus-padding) - min(calc(100vw - 100px), var(--max-width-plus-padding))); left: Max(calc(-1 * var(--remaining-width-to-full)), -50px); width: 100px; mix-blend-mode: multiply; @media screen and (max-width: 1000px) { width: 40px; top: 400px; left: -10px; } } // ▛ QUICK LINKS ▜ #quick-links { margin-top: calc(80 * var(--variable-px)); display: flex; gap: calc(var(--font-size-link) * 0.8); flex-wrap: wrap; div { display: flex; gap: calc(var(--font-size-link) * 0.8); flex-direction: row; flex-wrap: wrap; img { width: calc(var(--font-size-link) * 2); display: block; } } } // ▙ QUICK LINKS ▟ // ▛ TAGLINE ▜ #tagline { h1 { font-size: var(--font-size-intro-heading); } p { font-size: var(--font-size-intro-body); @media screen and (max-width: 1400px) { max-width: unset !important; } } } // ▙ TAGLINE ▟ .hexagons { max-width: var(--max-width); margin: auto; position: relative; bottom: calc(-80 * var(--variable-px)); div { position: absolute; top: 0; right: 10%; svg { position: absolute; margin: auto; top: 0; right: 0; bottom: 0; left: 0; transform: translate(-50%) rotate(347deg); opacity: 0.25; width: Max(1000px, Min(1400px, calc(100vw * 1400 / 1920))); height: auto; polygon { fill: none; stroke: gray; stroke-width: 1px; } } } } // ▛ SCREENSHOTS ▜ // ▙ SCREENSHOTS ▟ // ▛ TODAY AND TOMORROW ▜ // ▙ TODAY AND TOMORROW ▟ // // ▛ COMMUNITY ▜ #community { background-color: var(--color-mustard); #newsletter { #newsletter-success { background: var(--color-crimson); margin-top: 40px; padding: 40px; width: 100%; color: var(--color-fog); box-sizing: border-box; &:not(:target) { display: none; } } #newsletter-success:target ~ form { display: none; } form { width: 100%; margin-top: 40px; display: flex; gap: 20px; flex-wrap: wrap; .same-line { display: flex; gap: 20px; flex: 100000 1 0; flex-wrap: wrap; min-width: Min(100%, calc(240px + 20px + 240px)); div { min-height: auto; } } .column { display: flex; flex-direction: column; justify-content: flex-end; --input-focus-color: var(--color-ale); &.name { flex: 1 0 0; min-width: 240px; } &.phone { display: none; } &.email { flex: 1 0 0; min-width: 240px; } @media screen and (max-width: 400px) { &.name, &.email { min-width: 100%; } } &.submit { flex: 1 0 auto; } label, input { flex: 0 0 auto; } label { font-size: var(--font-size-link); font-weight: 800; margin-bottom: 10px; line-height: 1; } input:not([type="submit"]) { flex: 0 0 auto; width: 100%; height: calc(var(--font-size-link) * 2); font-size: calc(var(--font-size-link) * 0.9); color: inherit; border: var(--border-thickness) solid currentColor; border-radius: 0; // Required for iOS Safari outline: none; margin: 0; padding: 0 var(--font-size-link); font-family: inherit; font-weight: inherit; box-sizing: border-box; &:focus { border-color: var(--input-focus-color); } } input[type="submit"] { background: none; outline: none; cursor: pointer; border-radius: 0; // Required for iOS Safari &:focus { border-color: var(--input-focus-color); color: var(--input-focus-color); } } } } } #social .social-links { display: flex; flex-wrap: wrap; gap: 20px 80px; margin-top: 40px; .column { display: flex; flex-direction: column; gap: 20px; a { text-decoration: none; display: flex; img { width: 48px; height: 48px; } span { line-height: 48px; margin: 0; margin-left: 20px; } } } } } // ▙ COMMUNITY ▟ // ▛ PROCEDURALISM ▜ #proceduralism .section { align-items: center; } // ▙ PROCEDURALISM ▟ // ▛ DISCIPLINES ▜ #disciplines .section { align-items: center; .informational-group .informational { margin-top: 40px; } } // ▙ DISCIPLINES ▟ // ▛ FUNDRAISING ▜ #fundraising { background-color: var(--color-cove); .graphic { max-width: 400px; } } // ▙ FUNDRAISING ▟ // ▛ VECTOR ART ▜ #vector-art { .section { align-items: center; .demo-artwork { display: flex; align-items: center; margin-top: 20px; img { width: 128px; height: 128px; border: 12px solid var(--color-walnut); vertical-align: top; flex: 0 0 auto; } p { display: flex; flex-direction: column; max-width: 300px; margin-left: 40px; text-align: left; } } } } // ▙ VECTOR ART ▟ // ▛ IMAGINATE ▜ #imaginate { > .section { align-items: center; h1 { text-align: center; .alternating-text { position: relative; span { // Move left by half (since it's centered) the average (half the 74px difference) of the variance in word lengths margin-left: calc(-1.54em / 2 / 2); opacity: 0; $alternate-duration: 15s; $alternate-words: 5; animation: $alternate-duration infinite linear 0s fade-word; // The 1st child is the widest &:not(:nth-child(1)) { position: absolute; right: 0; } @for $i from 1 through $alternate-words { &:nth-child(#{$i}) { animation-delay: ($alternate-duration / $alternate-words * ($i - 1)); } } @keyframes fade-word { // Fade in at the start (which begins staggered on each item by `animation-delay`) #{0.0%} { opacity: 0; } #{2.5%} { opacity: 1; } // Remain visible for this item's slice of time, then fade out #{0.0% + 100% / ($alternate-words + 1)} { opacity: 1; } #{2.5% + 100% / ($alternate-words + 1)} { opacity: 0; } } } } } } > .diptych { margin-top: calc(80 * var(--variable-px)); .section { align-items: center; h2 { text-align: center; } } } // #imaginate-creative-concepts-carousel { // margin-top: 20px; // .screenshot-details { // justify-content: center; // } // + blockquote { // margin-top: 0; // } // } } // ▙ IMAGINATE ▟ // ▛ DEMO VIDEO ▜ #demo-video { max-width: 1000px; } // ▙ DEMO VIDEO ▟ // ▛ GET INVOLVED ▜ #get-involved-box { background-color: var(--color-sage); .graphic img { mix-blend-mode: hard-light; } } // ▙ GET INVOLVED ▟