.tx-bm-comments {
	max-width: 720px;
	margin: 0 auto;
}

ul.comments {
	padding: 0;
}

li.comment {
	margin: 20px 0 0 0;
	padding: 10px;
	border: 1px solid #aaa;
}

div.secondlevel {
	position: relative;
	margin-left: 40px;
	max-height: 200px;
	overflow-y: hidden;
}

li.comment div.head {
	padding-bottom: 10px;
}

li.comment div.head div {
	display: inline;
}

li.comment div.head div.name {
	font-size: 140%;
	font-weight: bold;
	color: #a30005;
	margin-right: 1rem;
}

li.comment div.head div.email {
	display: none;
}

li.comment div.body {
	position: relative;
	top: 0;
	left: 0;
	padding-bottom: 20px;
}

li.comment div.body button.reply {
	position: absolute;
	bottom: 0;
	right: 10px;
	text-align: right;
	background-color: #da291c;
	color: #ffffff;
	border: 0;
	padding: 0.5rem 1rem;
}

div.secondlevel.expanded {
	max-height: 5000rem;
}

div.secondlevel.expanded div.comment-overlay {
	opacity: 0;
}

div.secondlevel li {
	background-color: #f8f8f8;
}

div.comment-overlay {
	background-image: -moz-linear-gradient(90deg, #ffffff 3em, rgba(255, 255, 255, 0) 80%);
	background-image: -webkit-linear-gradient(90deg, #ffffff 3em, rgba(255, 255, 255, 0) 80%);
	background-image: linear-gradient(0deg, #ffffff 3em, rgba(255, 255, 255, 0) 90%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
	position: absolute;
	bottom: 0;
	height: 70%;
	left: 0;
	right: 0;
}

div.comment-overlay div {
	position: absolute;
	bottom: 1rem;
	padding-left: 1rem;
}

div.comment-overlay div span.comment-overlay-count,
div.comment-overlay- div span.comment-overlay-count {
	border-radius: 1em;
	background-color: #313131;
	color: #EEE;
	font-size: .6875rem;
	margin-right: .75rem;
	padding: .1875rem .5rem;
}

div.comment-overlay- {
	margin-top: 1rem;
	margin-left: 40px;
	max-height: 0;
	opacity: 0;
}

div.comment-overlay-.visible {
	max-height: 5rem;
	opacity: 1;
}

span.toggle-replies {
	cursor: pointer;
}

span.toggle-replies:hover {
	text-decoration: underline;
}

div.spinner-bg {
	z-index: 1004;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(10, 10, 10, 0.9);
}

div.spinner-bg .spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fefefe;
}

div.paginator {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
	position: relative;
	min-height: 1rem;
}

div.paginator ul {
	position: absolute;
	right: 0;
	margin-top: 0;
}

div.paginator ul li {
	display: inline;
	padding: 0;
}

div.paginator button {
	background-color: #ffffff;
	padding: 0.2rem 0.4rem;
	margin: 0;
	border: 1px solid #cccccc;
	border-right: 0;
	cursor: pointer;
}

div.paginator li:last-of-type button {
	border-right: 1px solid #cccccc;
}

div.paginator button:disabled {
	background-color: #da291c;
	color: #ffffff;
	border: 1px solid #da291c;
	cursor: auto;
}

div.secondlevel,
div.secondlevel.expanded div.comment-overlay,
div.comment-overlay- {
	-webkit-transition: all 0.1s ease 0.1s;
	-moz-transition: all 0.1s ease 0.1s;
	-o-transition: all 0.1s ease 0.1s;
	transition: all 0.1s ease 0.1s;
}

div.commentContainer.ng-enter,
div.commentContainer.ng-leave {
	-webkit-transition: 0.5s ease all;
	-moz-transition: 0.5s ease all;
	-o-transition: 0.5s ease all;
	transition: 0.5s ease all;
}

div.commentContainer.ng-enter,
div.commentContainer.ng-leave.ng-leave-active {
	opacity: 0;
}

div.commentContainer.ng-enter.ng-enter-active,
div.commentContainer.ng-leave {
	opacity: 1;
}

#main ul li.comment:before,
#main ul li.paginator:before {
	content: none;
}

.newcomment input[type="text"],
.newcomment input[type="email"] {
	min-width: 15rem;
	padding: 3px;
}
.newcomment input[type="text"] {
	margin-right: 1.5rem;
}
.newcomment .head,
.newcomment .body {
	margin-bottom: 1rem;
}
.newcomment textarea {
	width: 100%;
	box-sizing: border-box;
	height: 7rem;
	padding: 3px;
}

#content .newcomment .reply {
	background-color: #da291c;
	text-decoration: none;
	margin-left: 0;
	border-style: none;
}

.reply-container {
	display: block;
	width: 100%;
	background-color: #fafafa;
	padding: .5rem;
	margin-bottom: 1rem;
	position: relative;
	border: 1px solid #eee;
	box-sizing: border-box;
}

.reply-container .close-button,
.alert-box .finish {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	padding: 3px 10px;
	cursor: pointer;
}

.alert-box {
	display: block;
	width: 100%;
	padding: .5rem;
	margin-bottom: 1rem;
	color: #fff;
	position: relative;
	box-sizing: border-box;
}
.alert-box.success {
	background-color: #60a060;
	border: 1px solid #408060;
}
.alert-box.alert {
	background-color: #da291c;
	border: 1px solid #ba1000;
}

