.hint--bottom-left:before, .hint--bottom-right:before, .hint--bottom:before {
	border-bottom-color: #383838;
}

.hint--bottom:after, .hint--bottom:before {
	top: 100%;
	left: 50%;
}

.hint--bottom:before {
	margin-top: -11px;
	left: calc(50% - 6px);
}

.hint--bottom:after {
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
}

.hint--bottom:hover:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--bottom:hover:after {
	-webkit-transform: translateX(-50%) translateY(8px);
	-moz-transform: translateX(-50%) translateY(8px);
	transform: translateX(-50%) translateY(8px);
}

.hint--right:before {
	border-right-color: #383838;
	margin-left: -11px;
	margin-bottom: -6px;
}

.hint--right:after {
	margin-bottom: -14px;
}

.hint--right:after, .hint--right:before {
	left: 100%;
	bottom: 50%;
}

.hint--right:hover:after, .hint--right:hover:before {
	-webkit-transform: translateX(8px);
	-moz-transform: translateX(8px);
	transform: translateX(8px);
}

.hint--top-left:after, .hint--top-left:before {
	bottom: 100%;
	left: 50%;
}

.hint--top-left:before {
	margin-bottom: -11px;
	left: calc(50% - 6px);
}

.hint--top-left:after {
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	transform: translateX(-100%);
	margin-left: 12px;
}

.hint--top-left:hover:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	transform: translateY(-8px);
}

.hint--top-left:hover:after {
	-webkit-transform: translateX(-100%) translateY(-8px);
	-moz-transform: translateX(-100%) translateY(-8px);
	transform: translateX(-100%) translateY(-8px);
}

.hint--top-right:after, .hint--top-right:before {
	bottom: 100%;
	left: 50%;
}

.hint--top-right:before {
	margin-bottom: -11px;
	left: calc(50% - 6px);
}

.hint--top-right:after {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
	margin-left: -12px;
}

.hint--top-right:hover:after, .hint--top-right:hover:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	transform: translateY(-8px);
}

.hint--bottom-left:after, .hint--bottom-left:before {
	top: 100%;
	left: 50%;
}

.hint--bottom-left:before {
	margin-top: -11px;
	left: calc(50% - 6px);
}

.hint--bottom-left:after {
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	transform: translateX(-100%);
	margin-left: 12px;
}

.hint--bottom-left:hover:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--bottom-left:hover:after {
	-webkit-transform: translateX(-100%) translateY(8px);
	-moz-transform: translateX(-100%) translateY(8px);
	transform: translateX(-100%) translateY(8px);
}

.hint--bottom-right:after, .hint--bottom-right:before {
	top: 100%;
	left: 50%;
}

.hint--bottom-right:before {
	margin-top: -11px;
	left: calc(50% - 6px);
}

.hint--bottom-right:after {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
	margin-left: -12px;
}

.hint--bottom-right:hover:after, .hint--bottom-right:hover:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--large:after, .hint--medium:after, .hint--small:after {
	white-space: normal;
	line-height: 1.4em;
	word-wrap: break-word;
}

.hint--small:after {
	width: 80px;
}

.hint--medium:after {
	width: 150px;
}

.hint--large:after {
	width: 300px;
}

.hint--error:after {
	background-color: #b34e4d;
	text-shadow: 0 -1px 0 #592726;
}

.hint--error.hint--top-left:before, .hint--error.hint--top-right:before, .hint--error.hint--top:before {
	border-top-color: #b34e4d;
}

.hint--error.hint--bottom-left:before, .hint--error.hint--bottom-right:before, .hint--error.hint--bottom:before {
	border-bottom-color: #b34e4d;
}

.hint--error.hint--left:before {
	border-left-color: #b34e4d;
}

.hint--error.hint--right:before {
	border-right-color: #b34e4d;
}

.hint--warning:after {
	background-color: #c09854;
	text-shadow: 0 -1px 0 #6c5328;
}

.hint--warning.hint--top-left:before, .hint--warning.hint--top-right:before, .hint--warning.hint--top:before {
	border-top-color: #c09854;
}

.hint--warning.hint--bottom-left:before, .hint--warning.hint--bottom-right:before, .hint--warning.hint--bottom:before {
	border-bottom-color: #c09854;
}

.hint--warning.hint--left:before {
	border-left-color: #c09854;
}

.hint--warning.hint--right:before {
	border-right-color: #c09854;
}

.hint--info:after {
	background-color: #3986ac;
	text-shadow: 0 -1px 0 #1a3c4d;
}

.hint--info.hint--top-left:before, .hint--info.hint--top-right:before, .hint--info.hint--top:before {
	border-top-color: #3986ac;
}

.hint--info.hint--bottom-left:before, .hint--info.hint--bottom-right:before, .hint--info.hint--bottom:before {
	border-bottom-color: #3986ac;
}

.hint--info.hint--left:before {
	border-left-color: #3986ac;
}

.hint--info.hint--right:before {
	border-right-color: #3986ac;
}

.hint--success:after {
	background-color: #458746;
	text-shadow: 0 -1px 0 #1a321a;
}

.hint--success.hint--top-left:before, .hint--success.hint--top-right:before, .hint--success.hint--top:before {
	border-top-color: #458746;
}

.hint--success.hint--bottom-left:before, .hint--success.hint--bottom-right:before, .hint--success.hint--bottom:before {
	border-bottom-color: #458746;
}

.hint--success.hint--left:before {
	border-left-color: #458746;
}

.hint--success.hint--right:before {
	border-right-color: #458746;
}

.hint--always:after, .hint--always:before {
	opacity: 1;
	visibility: visible;
}

.hint--always.hint--top:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	transform: translateY(-8px);
}

.hint--always.hint--top:after {
	-webkit-transform: translateX(-50%) translateY(-8px);
	-moz-transform: translateX(-50%) translateY(-8px);
	transform: translateX(-50%) translateY(-8px);
}

.hint--always.hint--top-left:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	transform: translateY(-8px);
}

.hint--always.hint--top-left:after {
	-webkit-transform: translateX(-100%) translateY(-8px);
	-moz-transform: translateX(-100%) translateY(-8px);
	transform: translateX(-100%) translateY(-8px);
}

.hint--always.hint--top-right:after, .hint--always.hint--top-right:before {
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
	transform: translateY(-8px);
}

.hint--always.hint--bottom:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--always.hint--bottom:after {
	-webkit-transform: translateX(-50%) translateY(8px);
	-moz-transform: translateX(-50%) translateY(8px);
	transform: translateX(-50%) translateY(8px);
}

.hint--always.hint--bottom-left:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--always.hint--bottom-left:after {
	-webkit-transform: translateX(-100%) translateY(8px);
	-moz-transform: translateX(-100%) translateY(8px);
	transform: translateX(-100%) translateY(8px);
}

.hint--always.hint--bottom-right:after, .hint--always.hint--bottom-right:before {
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
	transform: translateY(8px);
}

.hint--always.hint--left:after, .hint--always.hint--left:before {
	-webkit-transform: translateX(-8px);
	-moz-transform: translateX(-8px);
	transform: translateX(-8px);
}

.hint--always.hint--right:after, .hint--always.hint--right:before {
	-webkit-transform: translateX(8px);
	-moz-transform: translateX(8px);
	transform: translateX(8px);
}

.hint--rounded:after {
	border-radius: 4px;
}

.hint--no-animate:after, .hint--no-animate:before {
	-webkit-transition-duration: 0s;
	-moz-transition-duration: 0s;
	transition-duration: 0s;
}

.hint--bounce:after, .hint--bounce:before {
	-webkit-transition: opacity .3s ease, visibility .3s ease, -webkit-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);
	-moz-transition: opacity .3s ease, visibility .3s ease, -moz-transform .3s cubic-bezier(.71, 1.7, .77, 1.24);
	transition: opacity .3s ease, visibility .3s ease, transform .3s cubic-bezier(.71, 1.7, .77, 1.24);
}