@font-face {
	font-family: 'Fira Code';
	font-style: normal;
	src: url("./firacode.ttf") format("truetype");
}

.cf {
	position: absolute;
	border-radius: 0 !important;
	font-size: 40px;
	text-align: center;
	font-weight: bold;
	color: #cdd6f4;
	line-height: 200px;
}
.ff {transform: rotateY(0deg) translateZ(106px)}
.fl {transform: rotateY(-90deg) translateZ(106px)}
.fr {transform: rotateY(90deg) translateZ(106px)}
.fba {transform: rotateY(180deg) translateZ(106px)}
.ft {transform: rotateX(90deg) translateZ(106px)}
.fbt {transform: rotateX(-90deg) translateZ(106px)}

body {
	background: #1e1e2e;
	overflow: hidden;
	color: #cdd6f4;
	font-family: 'Fira Code', monospace;
}

* {
	user-select: none;
}

.box {
	position: absolute;
	background-image: linear-gradient(45deg, #f5c2e7bb, #fab387bb);
	background-color: #00000000;
	transition: background-color .2s;
}

.box:hover > div {
	background-color: #1e1e2edd;
	margin: 0;
	padding: 0;
	top: -1px;
	left: -1px;
	width: 100%;
	height: 100%;
	border: 1px solid #f5c2e7;
}

.box > div {
	transition: all .2s;
	position: relative;
	background-color: #11111bbb;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	margin: 5px;
	padding: 5px;
}

.box > div > * {
	margin: 0;
}

#borderRadDemo {
	height: 200px;
	width: 200px;
	background-color: #11111b;
	border: 3px solid #ecbebe;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	transition: none;
}

#boxShadowDemo {
	height: 200px;
	width: 200px;
	background-color: #11111b;
	border: 3px solid #ecbebe;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	transition: none;
}

#boxShadowDemoSliders {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

#boxShadowDemoSliders > div {
	margin: 5px;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 100px;
}

#rotateDemo {
	position: relative;
	width: 206px;
	height: 206px;
	transform-style: preserve-3d;
	transform: translateZ(-100px);
	top: -3px; left: -3px;
}

#rotDemoContainer {
	width: 206px;
	height: 206px;
	border: 1px solid #CCC;
	perspective: 400px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.propDemo {
	height: 206px;
	width: 206px;
	background-color: #11111b;
	border: 3px solid #ecbebe;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	transition: none;
}

.demoSliders {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	margin-top: 5px;
}

.demoSliders > div {
	margin: 5px;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 100px;
	transition: all .2s;
	border: 3px solid #00000000;
}

.demoSliders > div:hover {
	background-color: #1e1e2e;
	border: 3px solid #f5c2e7;
	box-shadow: rgba(0,0,0,0.5) 5px 5px 10px;
	z-index: 100;
}

.demo {
	background-color: #181825;
	border: 3px solid #45475a;
	border-radius: 10px;
	transition: background-color .2s, border .2s;
}

.demo:hover {
	background-color: #11111b;
	border: 3px solid #ecbebe;
}

#flexDemoContainer {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	overflow-x: auto;
}

.flexContainer {
	display: flex;
	flex-wrap: wrap;
}

.flexContainer > div {
	margin: 10px;
	padding: 10px;
	width: auto;
}

.flexDemo {
	flex-grow: 1;
	flex-shrink: 1;
	margin: 10px;
	height: fit-content;
	vertical-align: middle;
}

.flexDemo h1 {
	margin-top: 10px;
	margin-bottom: 10px;
}

.flexDemo p {
	margin-top: 5px;
	margin-bottom: 5px;
}

.flexBox {
	flex-basis: auto;
	flex-grow: 1;
	flex-shrink: 1;
	margin: 10px;
	height: fit-content;
}

.flexBox h2 {
	margin-top: 5px;
	margin-bottom: 5px;
}

.slider::-webkit-slider-thumb, .slider::-moz-range-thumb{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 10px;
	height: 10px;
	border-radius: 20px;
	background: #1e1e2e;
	border-color: #f5c2e7;
	cursor: pointer;
}

.slider {
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 5px;
	border-radius: 5px;
	background: #45475a;
	outline: none;
	width: 100%;
}

select {
	background-color: #1e1e2e;
	border: 3px solid #45475a;
	border-radius: 5px;
	color: #cdd6f4;
	font-family: 'Fira Code', monospace;
	padding: 5px;
	margin: 0 5px 10px 0;
	transition: all .2s;
}

button {
	background-color: #1e1e2e;
	border: 3px solid #45475a;
	border-radius: 5px;
	color: #cdd6f4;
	font-family: 'Fira Code', monospace;
	padding: 5px;
	margin: 0 5px 10px 0;
	transition: all .2s;
}

#options {
	overflow-y: scroll;
	z-index: 100;
	position: absolute;
	top: -280px;
	left: 20px;
	width: 300px;
	height: 300px;
	background-color: #1e1e2e;
	border: 3px solid #45475a;
	border-top: none;
	border-radius: 0 0 10px 10px;
	transition: top .2s;
	padding: 5px;
}

#options:hover {
	top: 0;
}

#options > h3 {
	margin: 5px;
}