@import './variables.css';
@import './font.css';
@import './scroll-bar.css';
@import './container.css';
@import './grid.css';
@import './button.css';
@import './input.css';

:root,
textarea,
input {
	font-family: var(--ff-body), Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	font-synthesis: none;
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	transition: all 300ms;
	font-family: var(--ff-body), Helvetica, Arial, sans-serif;
}

html,
body {
	scroll-behavior: smooth;
}

body {
	background-color: var(--bg-color);
	color: var(--text-color);
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
	padding: 0;
	margin: 0;
	height: 100vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.theme-transition {
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}

a {
	color: var(--brand-color);
	text-decoration: none;

	&.navlink {
		display: flex;
		align-items: center;
		column-gap: 8px;
		font-weight: 500;
		color: var(--text-sub-40);
		text-transform: capitalize;
		/* min-width: 100%; */

		&.active {
			color: var(--text-main);
		}
	}
}

p {
	line-height: 2rem;

	& + p {
		margin-top: 16px;
	}

	@media (min-width: 1200px) {
		& + p {
			margin-top: 24px;
		}
	}
}

main {
	overflow-y: auto;
	/* padding-bottom: 40px; */
}

main,
main > .container {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.card {
	background-color: var(--ui-bg);
	border-radius: var(--ui-radius);
	padding: 16px;
	overflow: hidden;
}

.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}

.text-lowercase {
	text-transform: lowercase;
}
.text-uppercase {
	text-transform: uppercase;
}
.text-capitalize {
	text-transform: capitalize;
}
.text-main {
	color: var(--text-main);
}

.flex {
	display: flex;

	&.column {
		flex-direction: column;
	}
	&.row {
		flex-direction: row;
	}
}
.fg {
	flex-grow: 1;
}
.fs {
	flex-shrink: 1;
}

.justify-center {
	justify-content: center;
}
.justify-start {
	justify-content: flex-start;
}
.justify-end {
	justify-content: flex-end;
}
.justify-between {
	justify-content: space-between;
}

.align-center {
	align-items: center;
}
.align-start {
	align-items: flex-start;
}
.align-end {
	align-items: flex-end;
}
.align-between {
	align-items: space-between;
}
.align-stretch {
	align-items: stretch;
}
.bg-brand {
	background-color: var(--brand-color);
}

img,
picture,
source {
	width: 100% !important;

	&.rounded {
		border-radius: var(--ui-radius);
	}
}

.content-container {
	width: 100%;
	max-width: 1020px !important;
	margin: 0 auto;
	flex-grow: 0;
	padding-bottom: 40px;
}

.placeholder {
	max-width: 100%;
	flex-grow: 1;
}

@media (min-width: 1200px) {
	.placeholder {
		margin-left: calc(var(--filter-pane-max-width) + 20px);
	}
}

.holder-text {
	color: var(--text-sub-80);
	font-size: 20px;
}

.icon-scaffold {
	width: 20px;
	height: 20px;
}
