/** Forms **/ .btn { display: inline-block; background-color: var(--main-5); font-weight: 600; border: 1px solid var(--main-5); border-radius: 3rem; font-size: 1.5rem; line-height: 4rem; padding: 0 2rem; color: white; white-space: nowrap; } .btn.small { line-height: 3rem; padding: 0rem 2rem; font-size: 1.25rem; } p .btn { margin: 0 1rem; } .btn i { margin-right: 0.5rem; margin-left: -0.5rem; font-size: 2rem; vertical-align: middle; } .oppose { float: right; text-align: right; } .btn[disabled] { color: var(--main-5); border-color: var(--main-5); background-color: var(--main-1); opacity: 0.5; pointer-events: none; } .btn:hover { background-color: var(--main-6); border-color: var(--main-6); cursor: pointer; } .btn:active { background-color: var(--main-7); border-color: var(--main-7); } .btn.btn-secondary { background-color: transparent; color: var(--main-5); } .btn.btn-secondary:hover { background-color: var(--main-1); } .btn.btn-secondary:active { background-color: var(--main-5); border-color: var(--main-5); color: white; } .btn.btn-tertiary { background-color: var(--main-1); border-color: var(--main-1); color: var(--main-5); } .btn.btn-tertiary:hover { background-color: var(--main-2); border-color: var(--main-2); } .btn.btn-tertiary:active { background-color: var(--main-3); border-color: var(--main-3); } form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 2.5rem; } form.inline { grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; clear: both; } form div { position: relative; } form div .btn, form div a.chip { margin-top: 2.5rem; } form div.oppose { justify-content: right; } form div .btn, form div .chip { display: inline-block; align-self: flex-end; } form div .chip { line-height: 4.5rem; } form.inline div.large { grid-column: span 2; align-items: end; } @media screen and (max-width: 800px) { form.inline div.large { grid-column: span 4; } } form .large, form h2 { grid-column: 1/-1; } form .disabled:not(a) { opacity: 0.5; pointer-events: none; filter: blur(0.25rem); } @media screen and (max-width: 800px) { form div { grid-column: 1/-1; } } form small { display: block; font-weight: 300; color: var(--second-6); font-size: 1.25rem; margin-top: 0.25rem; } form small.error { color: var(--danger-6); } form label { color: var(--second-6); font-size: 1.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; } form input[type="radio"]~label:after, form input[required]+label:after { content: '*'; } form input:not([type=checkbox])~label, form textarea~label, form select~label { position: absolute; top: 0; left: 0; font-weight: 700; } form div .btn.oppose { right: 0; } form div input, form div textarea, form div select { padding: 1rem 2rem; background-color: var(--grey-1); border-radius: 3rem; border: 1px solid var(--grey-2); font-size: 1.5rem; resize: vertical; } form div select { appearance: none; padding-right: 4rem; -moz-appearance: none; -webkit-appearance: none; } form div.search:after, form div.select:after { font-family: 'Phosphor'; content: "\e136"; display: block; font-size: 2.5rem; color: var(--second-6); position: absolute; right: 1rem; top: 2.6rem; pointer-events: none; line-height: 4rem; } form div.search input { padding-right: 4rem; } form div.search:after { content: "\e30c"; } form div span.supporting { line-height: 2rem; font-size: 1.25rem; color: var(--grey-4); display: block; margin-top: 0.5rem; margin-bottom: 0.5rem; } form div input[disabled], form div textarea[disabled] { border-color: var(--grey-4); color: var(--grey-4); background-color: var(--grey-2); pointer-events: none; } form div input[readonly], form div textarea[readonly] { border-color: var(--grey-2); background-color: var(--grey-2); } input[type=number].digit { font-size: 3rem; width: 4rem; height: 5rem; -moz-appearance: textfield; -webkit-appearance: textfield; border-radius: 1.5rem; background-color: white; padding: 0.5rem; text-align: center; margin-right: 1rem; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type=checkbox] { accent-color: var(--main-5); } form div input[type=checkbox] { margin-right: 1rem; } form div input:not([type=checkbox]):not([type=radio]):not([type="number"].digit):not(.btn), form div textarea, form div select { margin-top: 2.5rem; box-sizing: border-box; width: 100%; height: max-content; } form div input[type=radio] { width: auto; margin: 1rem; margin-top: 3.75rem; accent-color: var(--main-5); } form div input[type=radio]+p { display: inline-block; } form div input:autofill { background: var(--grey-1); } form div input:hover, form div textarea:hover, form div select:hover { border-color: var(--second-4); } form div input:focus-visible, form div input:active, form div textarea:focus-visible, form div textarea:active { color: var(--main-5); border-color: var(--main-5); } form div input:focus-visible+label, form div input:active+label, form div textarea:focus-visible+label, form div textarea:active+label { color: var(--main-5); } form div input:invalid:not(:placeholder-shown), form div textarea:invalid:not(:placeholder-shown) { border-color: var(--danger-6); color: var(--danger-5); } form div input:invalid:not(:placeholder-shown)+label, form div textarea:invalid:not(:placeholder-shown)+label { color: var(--danger-5); } /* Checkbox element */ form div.checkbox { padding: 0.5rem 0; display: flex; align-items: center; } form div.checkbox > div { margin-right: 5rem; } div.checkbox > input[type="checkbox"] { display: none; width: 0; height: 0; } div.checkbox p { margin-bottom: 0; } div.checkbox::before { content: ''; display: block; position: absolute; height: 3rem; width: 5rem; background-color: var(--grey-3); box-sizing: border-box; transition: background-color 0.3s ease; top: calc(50% - 1.5rem); right: 0; border-radius: 4rem; } div.checkbox:has(> input[type="checkbox"]:checked)::before { background-color: var(--color-green); } div.checkbox > input[type="checkbox"] + label { display: block; background-color: white; width: 2rem; height: 2rem; border-radius: 2rem; top: calc(50% - 1rem); right: 2.5rem; position: absolute; font-size: 2rem; text-align: center; line-height: normal; transition: right 0.3s ease; } div.checkbox:hover > input[type="checkbox"] + label { cursor: pointer; } div.checkbox > input[type="checkbox"]:checked + label { right: 0.5rem; }