*, :after, :before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	font-family: 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	background-color: #fff;
	color: #444;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.menu li {
	margin-left: 15px;
}
h1 {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
}
a {
	text-decoration: none;
	color: #07d;
	cursor: pointer;
	text-decoration: none;
	background-color: transparent;
}
a,
button,
input {
	-webkit-tap-highlight-color: transparent;
}
.menu a {
	color: inherit;
}
.menu a:hover {
	text-decoration: underline;
}
.menu h1 {
	margin-top: 15px;
}
.menu ul h1 {
	margin: 0;
	font-size: 16px;
}
.main {
	padding: 60px 50px;
	min-height: 100vh;
}

/* form */
input, textarea {
	display: block;
	width: 100%;
}
.textarea-html {
	font: 12px/18px Consolas, monospace, serif;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	white-space: pre;
}
.form-checkbox, .form-radio {
	top: -1px;
}

/* .header */
.header {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	padding: 0 0 15px;
	margin: 0 0 15px;
	border-bottom: 1px solid #ccc;
}
.padding-bottom {
	padding-bottom: 10px;
}
.preview {
	background-color: #fff;
	position: relative;
	border: 1px solid #ddd;
	text-align: center;
	padding: 50px;
}
.preview-square:before {
	content: '';
	padding-top: 100%;
	display: block;
}
.box {
	position: relative;
	height: 200px;
	width: 200px;
	background-color: #f5f5f5;
	border: 1px solid #ddd;
	display: inline-block;
}
.preview-square .box {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.box-transition {
	-webkit-transition: 2000ms ease-in-out width 0ms, 1000ms ease-out opacity 250ms;
	-moz-transition: 2000ms ease-in-out width 0ms, 1000ms ease-out opacity 250ms;
	transition: 2000ms ease-in-out width 0ms, 1000ms ease-out opacity 250ms;
}
.box-transition.active {
	width: 100%;
	opacity: 0;
}
@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
	}
}
@-moz-keyframes rotate {
	0% {
		-moz-transform: rotate(0deg);
	}
	100% {
		-moz-transform: rotate(360deg);
	}
}
@-keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.box-animate.active {
	-webkit-animation: rotate 500ms;
	-webkit-animation-iteration-count: 3;
	-moz-animation: rotate 500ms;
	-moz-animation-iteration-count: 3;
	animation: rotate 500ms;
	animation-iteration-count: 3;
}
.box-swipe {
	width: 100%;
}
h4 {
	padding: 8px;
	margin: 0;
	border-bottom: 1px solid #ddd;
}
table {
	margin: 0;
	font-size: 14px;
}
em {
	color: #d05;
	font-style: normal;
}
.start ~ h4 {
	margin-top: 15px;
}
.scrollable-box {
	background-color: #fff;
	height: 350px;
}
