
html, body
{
	min-height:100svh;
	max-height:100svh;
	margin:0;
	padding:0;
}

.toggle-border 
{
	border: 2px solid #f0ebeb;
	border-radius: 130px;
	width: 100%;
	padding: 1px 2px;
	background: linear-gradient(to bottom right, white, rgba(220,220,220,.5)), white;
 	box-shadow: 0 0 0 2px #fbfbfb;
	display: flex;
	cursor: pointer;
	align-items: center;
}

td
{
	width:30%;
	text-align:center;
}

tr td:nth-child(2)
{
	padding-top:6px;
}

table
{
	width:100%;
}

.gc-spinner
{
	animation-name: spin;
	animation-duration: 0.4s;
	animation-iteration-count: infinite;
}

@keyframes spin
{
  0%   {background-color: red;}
  50%  {background-color: green;}
}

.gc-result
{
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display:inline-block;
}

.gc-red
{
	background-color:red;
}

.gc-green
{
	background-color:green;
}

.gc-keys
{
	display: flex;
	flex-wrap: wrap;
	width:100%;
}

.gc-key
{
	background-color: #f1f1f1;
	border-radius: 5px;
	margin:5px;
	font-size:1.3rem;
	width:calc( (100% - 30px) / 3);
	height:40px;
	box-shadow: 2px 2px 6px grey;
}

.toggle-border:last-child
{
	margin-bottom: 0;
}

.toggle-border input[type="checkbox"]
{
	display: none;
}

.toggle-border label
{
	position: relative;
	display: inline-block;
	height: 20px;
	width: inherit;
	background: #d13613;
	border-radius: 20px;
	cursor: pointer;
	box-shadow: inset 0 0 16px rgba(0,0,0,.3);
	transition: background .5s;
}

.toggle-border input[type="checkbox"]:checked + label
{
	background: #13d162;
}

.handle
{
	position: absolute;
	top: -8px;
	left: -17px;
	width: 35px;
	height: 35px;
	border: 1px solid #e5e5e5;
	background: repeating-radial-gradient(circle at 50% 50%, rgba(200,200,200,.2) 0%, rgba(200,200,200,.2) 2%, transparent 2%, transparent 3%, rgba(200,200,200,.2) 3%, transparent 3%), conic-gradient(white 0%, silver 10%, white 35%, silver 45%, white 60%, silver 70%, white 80%, silver 95%, white 100%);
	border-radius: 50%;
	box-shadow: 3px 5px 10px 0 rgba(0,0,0,.4);
	transition: left .4s;
}

.toggle-border input[type="checkbox"]:checked + label > .handle
{
	left: calc(100% - 35px + 10px);
}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width: 481px)
{
	.gc-form {width:70%; margin:auto;}
	.gc-switch {width:25%}
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width: 480px)
{
	.gc-form {width:100%;}
	.gc-form {width:20%;}
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape)
{
	.gc-form {width:40%; margin:auto;}
	.gc-form {width:10%;}
}

/* iPads (portrait) ----------- */
@media only screen and (max-device-width: 767px) and (orientation: portrait)
{
	.gc-form {width:60%; margin:auto;}
	.gc-switch {width:10%;}
}

/* Monitor screen above 1024px */
@media only screen and (min-device-width: 1025px)
{
	.gc-form {width:30%; margin:auto;}
	.gc-switch {width:5%;}
}