.display-container {
	display: flex;
	margin: auto;
	width: 1170px;
}

.display {
	display: flex;
	flex-grow: 1;
	justify-content: space-around;
	flex-wrap: wrap;
}

	.display h2 {
		color: white;
		margin-bottom: 5px;
	}

	.display .display-item {
		padding: 15px;
	}

.cb-container, .rb-container {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

.cb, .rb {
	display: flex;
	margin-bottom: 15px;
	cursor: pointer;
}

	.cb input, .rb input {
		width: 0;
		height: 0;
		display: none;
	}

	.cb .cb-field, .cb .rb-field, .rb .cb-field, .rb .rb-field {
		width: 1.5em;
		height: 1.5em;
		background-color: #d7dcde;
		position: relative;
		margin-left: 5px;
		border-radius: 5px;
	}

	.cb .cb-text, .cb .rb-text, .rb .cb-text, .rb .rb-text {
		display: flex;
		justify-content: space-around;
		flex-direction: column;
		margin-left: .5em;
	}

	.rb .rb-field {
		border-radius: 100%;
	}

.switch {
	display: flex;
	color: teal;
	font-weight: 700;
	margin-bottom: 15px;
}

	.switch input {
		width: 0;
		height: 0;
		display: none;
	}

	.switch .switch-text {
		display: flex;
		justify-content: space-around;
		flex-direction: column;
		margin-left: .5em;
	}

.cb.cross input:checked + span:before, .cb.cross input:checked + span:after {
	background-position: 0% 0%;
}

.cb.cross input:checked + span:before {
	transition: all .2s linear;
}

.cb.cross input:checked + span:after {
	transition: all .2s linear .2s;
}

.cb.cross .cb-field:before, .cb.cross .cb-field:after {
	content: '';
	position: absolute;
	background-color: teal;
	width: 80%;
	height: 12.5%;
	left: 10%;
	top: 45%;
	background: linear-gradient(to right, teal 0%, teal 50%, teal 50%, transparent 50%, transparent 100%);
	background-repeat: no-repeat;
	background-size: 200% 200%;
	background-position: 110% 0%;
}

.cb.cross .cb-field:before {
	transform: rotate(45deg);
	transition: all .2s linear .2s;
}

.cb.cross .cb-field:after {
	transform: rotate(-45deg);
	transition: all .2s linear;
}

.cb.check input:checked + span:before {
	transition: all .2s linear;
	background-size: 100% 200%;
}

.cb.check input:checked + span:after {
	transition: all .2s linear .2s;
	background-position: 100% 100%;
}

.cb.check .cb-field:before, .cb.check .cb-field:after {
	content: '';
	position: absolute;
	width: 40%;
	height: 60%;
	top: 10%;
	left: 30%;
	transform: rotate(45deg);
}

.cb.check .cb-field:before {
	background: linear-gradient(to bottom, transparent 0%, transparent 50%, transparent 50%, teal 50%, teal 100%);
	background-repeat: no-repeat;
	background-size: 0% 200%;
	background-position: 0 20%;
	transition: all .2s linear .2s;
}

.cb.check .cb-field:after {
	background: linear-gradient(to bottom, transparent 0%, transparent 50%, transparent 50%, teal 50%, teal 100%);
	background-repeat: no-repeat;
	background-size: 40% 200%;
	background-position: 100% -5%;
	transition: all .2s linear;
}

.cb.fall-check input:checked + span .check {
	transform: rotateX(0deg);
}

.cb.fall-check .cb-field {
	perspective: 50px;
	transform-style: preserve-3d;
}

	.cb.fall-check .cb-field .check {
		pointer-events: none;
		width: 100%;
		height: 200%;
		background-color: red;
		position: absolute;
		top: -100%;
		left: 0;
		transform: rotateX(90deg);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		background: linear-gradient(to bottom, transparent 0%, transparent 50%, transparent 50%, teal 50%, teal 100%);
		transition: all .3s ease-in;
		border-radius: 5px;
	}

		.cb.fall-check .cb-field .check:before {
			content: '';
			position: absolute;
			width: 30%;
			height: 30%;
			top: 55.5%;
			left: 40%;
			transform: rotate(45deg);
			border-right: 3px white solid;
			border-bottom: 3px white solid;
		}

.simple-cb {
	display: flex;
	margin-bottom: 15px;
}

.simple-cb__input {
	width: 1.5rem;
	height: 1.5rem;
	position: relative;
}

	.simple-cb__input:before, .simple-cb__input:after {
		content: '';
		position: absolute;
	}

	.simple-cb__input:before {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: white;
	}

	.simple-cb__input:after {
		width: 30%;
		height: 60%;
		border-right: 3px solid transparent;
		border-bottom: 3px solid transparent;
		transform: rotate(45deg);
		top: 10%;
		left: 30%;
	}

	.simple-cb__input:hover:after {
		border-color: lightgray;
	}

	.simple-cb__input:checked:after {
		border-color: teal;
	}

.simple-cb__text {
	line-height: 1.5rem;
	margin-left: .5rem;
	color: teal;
	font-weight: 700;
}

.switch input:checked + span:before {
	background-color: rgba(0, 128, 128, 0.6);
}

.switch input:checked + span:after {
	background-color: teal;
	left: 1.5em;
}

.switch .switch-field {
	width: 3em;
	height: 1.5em;
	position: relative;
	margin-left: 10px;
}

	.switch .switch-field:before, .switch .switch-field:after {
		content: '';
		position: absolute;
		transition: all .2s linear;
	}

	.switch .switch-field:before {
		height: 1em;
		border-radius: .5em;
		background-color: #f1f1f1;
		width: 90%;
		left: 5%;
		top: .25em;
		box-shadow: 0 0 5px gray;
	}

	.switch .switch-field:after {
		width: 1.5em;
		height: 1.5em;
		top: 0;
		left: 0;
		background-color: white;
		border-radius: 100%;
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
	}

.rb.fill input:checked + span:before {
	width: 70%;
	height: 70%;
	top: 15%;
	left: 15%;
}

.rb.fill .rb-field:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: 50%;
	left: 50%;
	background-color: teal;
	border-radius: 100%;
	transition: all .1s linear;
}

.rb.outline input:checked + span {
	border-color: teal;
}

	.rb.outline input:checked + span:before {
		width: .7em;
		height: .7em;
		top: .2em;
		left: .2em;
	}

.rb.outline .rb-field {
	background-color: transparent;
	border: .2em solid white;
}

	.rb.outline .rb-field:before {
		content: '';
		position: absolute;
		border-radius: 100%;
		background-color: teal;
		width: 0;
		height: 0;
		top: .5em;
		left: .5em;
		transition: all .1s linear;
	}
