html, body {
	margin:0px;
}
body {
	background-color:#222;
	font-family:"Work Sans", sans-serif;
}
nav.sidebar {
	background-color:#000;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	color:#fff;

	z-index:200;

	display: flex;
	justify-content: center;
	align-items: center;

	transition:.4s width;
	transition-timing-function: cubic-bezier(0.165, 0.840, 0.440, 1.000);
}
nav.sidebar.active {
	width:400px;
}
nav.sidebar .container {
	margin:0px auto;
}
nav.sidebar .colour-input-label {
	margin:0px auto;
	display:block;
	padding:0px 24px;
	box-sizing:border-box;
}
nav.sidebar .colour-input {
	font-size:40px;
	color:#fff;
	display:block;
	margin:0px auto;
}
nav.sidebar .colour-input-box {
	padding:12px 0px;
	margin-left:20px;
	font-size:40px;
	font-family:inherit;
	color:#fff;
	background-color:#000;
	width:160px;
	border:0px;
	border-bottom:2px SOLID #fff;
	display:inline-block;
	vertical-align: center;
	outline:0;
	text-transform:uppercase;
}
nav.sidebar ul.tabs {
	display:none;
	margin:0px;
	padding:0px;
	list-style:none;
	margin-top:40px;
	width:400px;
}

nav.sidebar ul.tabs li {
	display:block;
}

nav.sidebar ul.tabs li a {
	display:block;
	padding:10px 24px;
	text-align:left;
	color:#fff;
	text-decoration:none;
	font-size:22px;
	text-transform:uppercase;
	letter-spacing:1px;
	position:relative;
	transition:.15s padding-left;
	overflow:hidden;
	transform:translateY(20px);
	opacity:0;

	animation-name:tabIn;
	animation-duration:.1s;
	animation-fill-mode:forwards;

	transition-timing-function: cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

nav.sidebar ul.tabs li:nth-child(1) a {
	animation-delay:.3s;
}

nav.sidebar ul.tabs li:nth-child(2) a {
	animation-delay:.35s;
}

nav.sidebar ul.tabs li:nth-child(3) a {
	animation-delay:.4s;
}

nav.sidebar ul.tabs li:nth-child(4) a {
	animation-delay:.5s;
}

nav.sidebar ul.tabs li:nth-child(5) a {
	animation-delay:.6s;
}

nav.sidebar ul.tabs li:nth-child(6) a {
	animation-delay:.7s;
}


@keyframes tabIn {
	0% {
		transform:translateY(20px);
		opacity:0;
	}
	100% {
		transform:translateY(0px);
		opacity:1;
	}
}

nav.sidebar ul.tabs li a:hover {
	padding-left:30px;
}

nav.sidebar ul.tabs li a.active {
	font-weight:900;
	padding-left:60px;
}

nav.sidebar ul.tabs li a:after { 
	width:50px;
	height:6px;
	border-radius:3px;
	position:absolute;
	top:calc(50% - 3px);
	left:-50px;
	content:'';
	background-color:#fff;
	transition:.15s;

	transition-timing-function: cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

nav.sidebar ul.tabs li a:hover:after { 
	transform:translateX(6px);
}

nav.sidebar ul.tabs li a.active:after { 
	transform:translateX(46px);
}

.palette {
	width:calc(100% - 400px);
	position:absolute;
	left:400px;
	height:100%;
	display:grid;
	grid-template-columns:1fr 1fr 1fr 1fr 1fr;
}

.palette-colour {
	display:block;
	background-color:#333;
	cursor:pointer;
	position:relative;
	transition:.1s;

	-webkit-box-shadow: inset -12px 0px 26px -12px rgba(0,0,0,0.37);
	-moz-box-shadow: inset -12px 0px 26px -12px rgba(0,0,0,0.37);
	box-shadow: inset -12px 0px 26px -12px rgba(0,0,0,0.37);
}

.palette-colour:nth-child(1) {
	transition-delay:.05s;
}
.palette-colour:nth-child(2) {
	transition-delay:.1s;
}
.palette-colour:nth-child(3) {
	transition-delay:.15s;
}
.palette-colour:nth-child(4) {
	transition-delay:.2s;
}
.palette-colour:nth-child(5) {
	transition-delay:.25s;
}

.palette-colour-label {
	background-color:rgba(0,0,0,.6);
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	color:#fff;
	font-weight:900;
	font-size:120px;
	line-height:90px;
	overflow:hidden;
	display: flex;
	justify-content: center;
	align-items: center;

	opacity:0;
	transition:.15s opacity;
}

.palette-colour.copied .palette-colour-label {
	opacity:0;
}

.palette-colour-label:hover {
	opacity:1;
}

.palette-colour-label span {
	transform:rotate(-90deg) translateY(30px);
	text-align:center;
	text-transform:uppercase;


	transition:.15s transform;
}

.palette-colour-label:hover span {
	transform:rotate(-90deg) translateY(0px);
}

.palette-colour:before {
	position:absolute;
	top:0;
	left:0;
	width:0%;
	height:100%;
	background-color:rgba(0,0,0,.6);
	content:'';
	text-align:center;

	z-index:100;
	opacity:0;

	transition:.15s opacity, .15s width;
}

.palette-colour.copied:before {

	width:100%;
	opacity:1;
}

.palette-colour:after {
	position:absolute;
	top:calc(50% - 25px);
	left:calc(50% - 100px);
	width:200px;
	height:50px;
	content:'Copied!';
	font-size:32px;
	text-align:center;
	transition:.15s opacity, .15s transform;
	color:#fff;
	z-index:120;
	font-weight:900;
	text-transform: uppercase;
	letter-spacing:1px;

	opacity:0;
	transform:scale(0);
}

.palette-colour.copied:after {
	opacity:1;
	transform:scale(1);
}
