*, *:before, *:after {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

body {
	padding: 0;
	margin: 0 10px;
	font-size: 16px;
}

body, button, input {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: sans-serif;
}

input[type="text"], input[type="email"] {
	font-size: 16px;
	border: 0;
	border-radius: 0;
	outline: none;
	-webkit-transition: box-shadow 300ms;
	transition: box-shadow 300ms;
	box-shadow: 0 0 5px rgba(0, 0, 0, .05);
	padding: 10px;
	width: 350px;
}

input[type="text"]:focus, input[type="email"]:focus {
	box-shadow: 0 0 5px rgba(0, 0, 0, .25);
}

label {
	cursor: pointer;
	cursor: hand;
}

td label {
	display: block;
}

img {
	max-width: 100%;
}

.main {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.content {
	padding: 20px;
}

.logo {
	padding: 20px;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
}

.settings {
	border-collapse: collapse;
	border: 0;
	width: 100%;
	margin-bottom: 1.5em;
}

.settings td {
	padding: 10px;
}

.settings td.right {
	text-align: right;
}

.switch {
	display: inline-block;
	width: 36px;
	height: 24px;
	border-radius: 12px;
	position: relative;
	cursor: pointer;
	cursor: hand;

	transition: background-color 300ms;
	-webkit-transition: background-color 300ms;
}

.switch:before {
	content: ' ';
	display: block;
	position: absolute;
	top: 1px; left: 1px;
	width: 22px;
	height: 22px;
	background-color: white;
	border-radius: 11px;
	box-shadow: 0 0 2px rgba(0, 0, 0, .1);
	transition: left 300ms cubic-bezier(.65, 0, 0, 1);
	-webkit-transition: left 300ms cubic-bezier(.65, 0, 0, 1);
}

.switch.active:before {
	left: 13px;
}

.switch_check {
	display: none;
}

button {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
	font-weight: bold;
	padding: 8px 15px;
	background-color: #808080;
	color: white;
	font-size: 16px;
	cursor: pointer;
	cursor: hand;
	margin: 0 5px;

	transition: background-color 300ms;
	-webkit-transition: background-color 300ms;
}

.buttons {
	text-align: center;
	margin-bottom: 0;
}

.notification, .error {
	padding: 20px;
}

@media screen and (max-width: 400px) {
	h1 {
		font-size: 1.5em;
	}

	h2 {
		font-size: 1.2em;
	}
}

@media screen and (max-width: 600px) {
	.responsive, .responsive tbody, .responsive tr, .responsive td, .responsive input {
		display: block;
		width: 100%;
	}
}