// form component as a grid .form_grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); color: rgb(8 15 33); row-gap: 1.5rem; column-gap: 1rem; } // size up to 12 columns on small or bigger devices @media (min-width: 640px) { .form_grid { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: max-content; } } .custom_component_parent { // CSS here } .group_parent { // CSS here } .form_group { background-color: rgba(107, 114, 128, 0.20); border-radius: 25px; padding: 20px; } .spacer_parent { // CSS here } .form_heading { text-align: center; font-weight: bold; grid-column: span 12; margin: 0; } .heading_parent { // CSS here } h1.form_heading { font-size: 2.5rem; padding-top: 0.5rem; padding-bottom: 0.5rem; } h2.form_heading { font-size: 1.75rem; padding-top: 0.25rem; padding-bottom: 0.25rem; } h3.form_heading { font-size: 1.25rem; padding-top: 0; padding-bottom: 0.125rem; } h4.form_heading { font-size: 1rem; padding-top: 0; padding-bottom: 0; } .form_label { font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; text-transform: uppercase; letter-spacing: 0.05em; text-align: left; font-size: 1rem; font-weight: bold; margin-left: 0.5rem; margin-bottom: 0.25rem; display: inline; } .text_input_parent { // CSS here } .text_area_parent { // CSS here } .form_input { display: block; box-sizing: border-box; width: 100%; background-color: #f7fafc; border-width: 2px; border-color: #e2e8f0; border-style: solid; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; padding-right: 1rem; border-radius: 0.375rem; line-height: 1.25; outline: none; } .form_input:focus { background-color: #ffffff; border-color: #90cdf4; } .form_input_invalid { border: 2px solid #ef4444; background-color: #ffd4d4; } .form_error { display: inline; padding-left: 0.25rem; color: #ef4444; } .button_parent { display: flex; flex-direction: column; } .form_button { display: block; outline: none; border: none; border-radius: 1rem; background-color: #0477d6; color: #fff; font-weight: bold; cursor: pointer; margin-top: auto; margin-left: auto; margin-right: auto; padding: 0.55rem 1.25rem; font-size: 1rem; appearance: none; min-height: 40px; } .checkbox_parent { // CSS here } .form_checkbox { display: block; text-transform: uppercase; letter-spacing: 0.05em; accent-color: rgb(14 165 233); font-size: 1rem; font-weight: bold; padding: 0.5rem; margin-left: 0.5rem; margin-bottom: 0.25rem; } .form_checkbox_checked { background-color: rgb(14 165 233); } .form_checkbox_unchecked { background-color: rgb(107 114 128); } .submit_parent { @extend .button_parent; } .form_submit { @extend .form_button; @extend .col-span-full; margin: 0 auto; } .form_submit:hover { background-color: #005fb3; } .output_parent { // CSS here } .radio_buttons_parent { // CSS here } .select_parent { // CSS here } .stepper_parent { // CSS here } .slider_parent { // CSS here } // column widths .col-span-full { grid-column: 1 / -1; } .col-span-12 { grid-column: span 12 / span 12; } .col-span-6 { grid-column: span 6 / span 6; } .col-span-4 { grid-column: span 4 / span 4; } .col-span-3 { grid-column: span 3 / span 3; } .col-span-2 { grid-column: span 2 / span 2; } .col-span-1 { grid-column: span 1 / span 1; }