*{
	-webkit-box-sizing: border-box;
	scrollbar-width: thin;
	scrollbar-color: var(--special) transparent;
}

input, button, select, textarea{
	font-family: "Inter", sans-serif;
	font-weight: 300;
	background: rgba(217, 217, 217,.05);
	border: none;
	color:var(--text);
	border-radius: var(--radius);
	font-size: inherit;
	padding: .35rem .75rem;
	width: 100%;
	max-width: 100%;
}
option{
	font-weight: 300;
}
input{
	border: 1px solid var(--border-color);
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
	-webkit-text-fill-color: #fff;
	transition: background-color 5000s ease-in-out 0s;-webkit-background-clip: text;
}


input[type=checkbox]{
	display: none;
}

.panel{
	&.dark{
		.body{
			input[type="radio"]{
				background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><circle r="3" fill="%23161616" cx="8" cy="8" /></svg>');
			}
		}
	}
	.body{
		input[type="radio"]{
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
		
			width: 24px;
			height: 24px;
			padding: 0;
			transition: .15s;
			border: 2px solid var(--border-color);
			vertical-align: middle;
			margin: 0;
			outline: none !important;
	
			background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><circle r="3" fill="%23ffffff" cx="8" cy="8" /></svg>');
			background-size: 140%;
			border-radius: 999px;
	
			&:checked{
				background-color: var(--special);
				border-color: var(--special);
			}
		
			&:focus-visible{
				box-shadow: 0 0 0 .25rem var(--special);
			}
		}
	}
}

label.checkbox div{
	display: inline-block;
	vertical-align: middle;
	padding-right: .5rem;
}

label.checkbox .mark{
	display: inline-block;
	vertical-align: middle;
	position: relative;
	border-radius: 999px;
    width: 36px;
    height: 24px;
	background: rgba(127,127,127,.15);
	-webkit-transition: .3s;
}

label.checkbox input:checked + .mark{
	background: var(--special);
}

label.checkbox .mark::after{
	content: "";
	display: inline-block;
	background: #fff;
	border-radius: 999px;
	width: 20px;
	height: 20px;
	margin:2px;
	position: absolute;
	top:0;
	left:0;
	-webkit-transition: .3s;
}

label.checkbox input:checked + .mark::after{
	-webkit-transform: translateX(12px);
}

textarea{
	min-width: 100%;
	min-height: 128px;
}

h1,h2,h3,h4,h5,h6{
	margin-top: 0;
	font-weight: 400;
	margin-bottom: 6px;
}
h1{
	font-size: 1.5rem;
}
h2{
	font-size: 1.25rem;
}

small{
	display: block;
	font-size: 12px;
	color:var(--text);
	opacity: .7;
	margin-bottom: 16px;
}

a{
	cursor: pointer;
}

label{
	display: block;
	margin-bottom: 1rem;
}

button{
	background: rgba(255, 255, 255, .1);
}

input:focus-visible, 
textarea:focus-visible,
select:focus-visible{
	outline: none;
}

img{
	max-width: 100%;
}

hr{
	border: none;
	height: 1px;
	background: var(--border-color);
	display: block;
	margin: 4px 0;
}

.none{
	display: none;
}


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

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

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

.middle{
	display: inline-block;
	vertical-align: middle;
}

.fullscreen{
	position: absolute;
	top:0;
	left:0;
	right: 0;
	bottom: 0;
}

.hidden{
	visibility: hidden;
	opacity: 0;
}

.hide{
	display: none;
}

/* GLOBAL UTILS */
.text-left{
	text-align: left;
}
.text-center{
	text-align: center;
}
.text-right{
	text-align: right;
}

.grid{
	--gap:0px;
	display: -webkit-flex;
	flex-flow: row wrap;
	gap:var(--gap);
}
.grid.align-spaced{
	justify-content: space-around;
}
.grid.align-justify{
	justify-content: space-between;
}
.grid.align-center{
	justify-content: flex-start;
}
.grid.align-center{
	justify-content: center;
}
.grid.align-left{
	justify-content: flex-start;
}
.grid.align-right{
	justify-content: flex-end;
}
.grid.align-top{
	align-items: flex-start;
}
.grid.align-middle{
	align-items: center;
}
.grid.align-bottom{
	align-items: flex-end;
}
.grid .cell{
	--columns:12;
	--grid:12;
	width: calc((100% / (var(--columns)/var(--grid))) - var(--gap) + (var(--gap)/(var(--columns)/var(--grid))));
}
.grid .cell.auto{
	width: auto;
	flex:1 1 0;
}
.grid .cell.shrink{
	width: auto;
}
.grid .cell.sm-1{
	--grid:1;
}
.grid .cell.sm-2{
	--grid:2;
}
.grid .cell.sm-3{
	--grid:3;
}
.grid .cell.sm-4{
	--grid:4;
}
.grid .cell.sm-5{
	--grid:5;
}
.grid .cell.sm-6{
	--grid:6;
}
.grid .cell.sm-7{
	--grid:7;
}
.grid .cell.sm-8{
	--grid:8;
}
.grid .cell.sm-9{
	--grid:9;
}
.grid .cell.sm-10{
	--grid:10;
}
.grid .cell.sm-11{
	--grid:11;
}
.grid .cell.sm-12{
	--grid:12;
}

@media screen and (min-width: 40em) {
	.grid .cell.md-auto{
		width: auto;
		flex:1 1 0;
	}
	.grid .cell.md-shrink{
		width: auto;
	}
	.grid .cell.md-1{
		--grid:1;
	}
	.grid .cell.md-2{
		--grid:2;
	}
	.grid .cell.md-3{
		--grid:3;
	}
	.grid .cell.md-4{
		--grid:4;
	}
	.grid .cell.md-5{
		--grid:5;
	}
	.grid .cell.md-6{
		--grid:6;
	}
	.grid .cell.md-7{
		--grid:7;
	}
	.grid .cell.md-8{
		--grid:8;
	}
	.grid .cell.md-9{
		--grid:9;
	}
	.grid .cell.md-10{
		--grid:10;
	}
	.grid .cell.md-11{
		--grid:11;
	}
	.grid .cell.md-12{
		--grid:12;
	}
}

@media screen and (min-width: 64em) {
	.grid .cell.lg-auto{
		width: auto;
		flex:1 1 0;
	}
	.grid .cell.lg-shrink{
		width: auto;
	}
	.grid .cell.lg-1{
		--grid:1;
	}
	.grid .cell.lg-2{
		--grid:2;
	}
	.grid .cell.lg-3{
		--grid:3;
	}
	.grid .cell.lg-4{
		--grid:4;
	}
	.grid .cell.lg-5{
		--grid:5;
	}
	.grid .cell.lg-6{
		--grid:6;
	}
	.grid .cell.lg-7{
		--grid:7;
	}
	.grid .cell.lg-8{
		--grid:8;
	}
	.grid .cell.lg-9{
		--grid:9;
	}
	.grid .cell.lg-10{
		--grid:10;
	}
	.grid .cell.lg-11{
		--grid:11;
	}
	.grid .cell.lg-12{
		--grid:12;
	}
}