Login
4 branches 0 tags
Ben (T14/NixOS) Improved flake 41eb128 11 days ago 252 Commits
rubhub / frontend / css / forms.css
.btn,
button {
	display: inline-flex;
	align-content: center;
	gap: var(--space-m);
	align-items: center;
	justify-content: center;
	position: relative;
	padding: var(--space-s) var(--space-m);
	background: var(--primary-color);
	color: var(--white);
	border: none;
	line-height: 1.35em;
	border-radius: var(--space-s);
	cursor: pointer;
	text-decoration: none;
	appearance: none;
	transition:
		background-color 200ms ease-in-out,
		color 200ms ease-in-out;
}

.btn.active,
.btn:hover,
.btn:focus,
button.active,
button:hover,
button:focus {
	background-color: var(--primary-color-dark);
}

.btn-outline {
	background: transparent;
	color: var(--primary-color);
	border: 1px solid var(--primary-color-dark);
	transition:
		color 300ms ease-in-out,
		background-color 300ms ease-in-out,
		border 30ms ease-in-out;
}

.btn-outline.active,
.btn-outline:hover,
.btn-outline:focus {
	color: var(--white);
	background-color: var(--primary-color-dark);
	border-color: var(--primary-color-dark);
}

.danger-button {
	background: var(--error-color-bright);
	color: var(--white);
}

.danger-button:hover,
.danger-button:focus {
	background-color: var(--error-color);
}

.danger-zone {
	margin-top: var(--space-xl);
	border: 2px solid var(--error-color);
	padding: var(--space-l);
}

.danger-zone h2 {
	color: var(--error-color-bright);
	margin-top: 0;
}

select,
textarea,
input {
	padding: var(--space-m);
	background: var(--background-color);
	color: var(--text-color);
	border: solid 1px var(--primary-color);
	border-radius: var(--space-s);
	margin-bottom: var(--space-m);
	width: 100%;
	line-height: 1.35em;
	outline: none;
	transition: border-color 200ms ease-in-out;
}

select:focus,
textarea:focus,
input:focus {
	border-color: var(--text-color);
}

select[readonly],
textarea[readonly],
input[readonly] {
	color: var(--text-color-subdued);
	border-color: var(--text-color-subdued);
	outline: none;
}

.auth-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}

.auth-card {
	padding: 16px;
	border-radius: 8px;
	background: var(--background-color-bright);
}

.auth-card form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.message {
	background: var(--error-color);
	color: var(--white);
	padding: 10px;
	border-radius: 6px;
	margin-bottom: 16px;
}

.stack {
	display: flex;
	flex-direction: column;
	gap: var(--space-s);
}

.actions {
	display: flex;
	gap: var(--space-s);
}

.simple-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

textarea {
	min-height: 160px;
}

.simple-form button {
	align-self: flex-end;
}

@media screen and (min-width: 700px) {
	.form-row {
		display: flex;
		gap: var(--space-l);
	}

	.form-row > * {
		flex: 1;
	}
}

.button-popup {
	position: absolute;
	right: 0;
	top: 100%;
	padding: var(--space-m) var(--space-l);
	border-radius: var(--space-s);
	display: block;
	height: 2rem;
	background: var(--success-color-dark);
	color: var(--white);
	cursor: pointer;
	opacity: 0;
	margin-top: var(--space-s);
	transform: scaleY(0);
	transition:
		opacity 300ms ease-in-out,
		transform 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.button-popup::after {
	content: "";
	display: block;
	border-bottom: solid var(--space-s) var(--success-color-dark);
	border-left: solid var(--space-s) transparent;
	border-right: solid var(--space-s) transparent;
	position: absolute;
	right: var(--space-l);
	bottom: 100%;
}

.button-popup.visible {
	opacity: 1;
	transform: scaleY(1);
}

.button-popup.hide {
	opacity: 0;
	transform: scaleY(0) translate(-50%, 20%);
}