.g-basic-hero { padding: 88px 0; & .g-type-display-1 { color: var(--gray-1); text-align: center; margin-left: auto; margin-right: auto; margin-top: 0; max-width: 14em; } & .g-type-body-large { color: var(--gray-3); margin: 0 auto 0 auto; text-align: center; max-width: 40em; } & .links { display: flex; flex-wrap: wrap; justify-content: center; /* * Margins here compensate for extra 8px margin on buttons * which are needed to center and space properly regardless of whether * buttons are wrapping to multiple lines or not. */ margin-top: calc(32px - 8px); margin-bottom: -8px; @media (--large) { margin-top: calc(40px - 8px); } & .g-btn { /* * This ensures 16px between buttons at all times, while maintaining proper centering * when buttons wrap to multiple lines. * There will be an extra 8px space on all sides of the button group. * The top and bottom are accounted for by the -8px adjustment on `.action` margins. * The left and right excess is left as is - it's needed for proper centering when wrapping. */ margin: 8px; } } & .third-link { display: flex; justify-content: center; margin-top: 32px; & a { display: flex; align-items: center; color: var(--gray-4); & .icon { margin-left: 8px; height: 24px; } } } &.has-background { background-repeat: no-repeat; background-color: var(--gray-7); background-image: url(/img/hero/pattern-desktop.svg); width: 100%; background-size: cover; background-position: center; @media (max-width: 800px) { background-image: url(/img/hero/pattern-mobile.svg); } & .g-btn { background: var(--gray-7); } } }