/* wrapper for entire post (author, content, comments) */
#cms_post_container {
	
	
}

/* post author */
.cms-post-author {
	
	
}

/* above blog post content directly below author */
.cms-post-info {
    color: grey;
    font-size: 80%;
    font-style: italic;
	margin-bottom: 20px;
    padding-left: 5px;
}

/* post content */
.cms-post-content {
    text-align: justify;
}

/* post rating */
.cms-post-rating {
    cursor: pointer; 
}
.cms-post-social.stars {
    margin-top: 0px;
    margin-bottom: 20px;
    cursor: pointer; 
}
.cms-post-social.stars {
    margin-top: 0px;
    margin-bottom: 20px;
}
.cms-post-social.stars img {
    border-top: solid 1px darkgray;
    display: block;
    margin: 0 auto;
    margin-top: -5px;
    padding-top: 5px;
}
.cms-post-social .cms-post-rating-user {
    align-items: center;  
    aspect-ratio: 1 / 1;
    background-color: white;
    border: 2px solid #666;
    border-radius: 50%;  
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 4ch; /* Set this to slightly wider than the longest string */
    position: relative;
    z-index: 2;
}


/* wrapper for both comments header and comments */
#cms_comments_container {
	font-size: 8pt;
	font-size: .75rem;
	/*height: 500px;*/
	padding: 5px;
}

/* wrapper for showing header (with counts and sorting ops) */
#cms_comments_header {
	border-bottom: solid 1px darkgrey; 
	color: grey;
	font-size: 9pt;
	margin-bottom: 10px; 
	margin-top: 10px;
}

#cms_comments_header .cms-comments-sort {
	background-color: transparent; 
	border: none; 
	color: #888888;
}	

/* wrapper containing all comments, and wrapper around every comment */
#cms_comments,
.thread-branch {
	display: block;
	width: 100%;
	position: relative;
	overflow: visible; 
}

/* individual comment */
.cms-comment {
	--active-color: #cbd5e1;
	display: block;
	margin-bottom: 16px;  /* 12px */
	padding: 12px;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	margin-left: calc(var(--depth) * 24px);
	position: relative;
	transition: border-color 0.2s ease;	
	opacity: 0.8; 
	transition: opacity 0.2s ease;
	will-change: opacity;
}


/* insures all parental branches highlight together */
.thread-branch:has(.cms-comment:hover) > .cms-comment,
.cms-comment:hover {
	--active-color: #3b82f6;
	border-color: #3b82f6;
	opacity: 1;
}

.thread-track {
	position: absolute;
	top: -16px;
	bottom: -16px; 
	left: -14px;
	width: 2px;
	background-color: var(--active-color);
	pointer-events: none;
	transition: background-color 0.2s ease;
}

/* L-Connector tying thread lines to comments */
.cms-comment::after {
	content: "";
	position: absolute;
	top: -18px; 
	height: 32px;
	left: -14px; 
	width: 14px; 
	pointer-events: none;
	border-left: 1px solid var(--active-color);
	border-bottom: 1px solid var(--active-color);
	border-bottom-left-radius: 4px;
	transition: border-color 0.2s ease;
}

/* Remove the ::before and ::after pseudo-elements for root-level comments */
.cms-comment[style*="--depth:0"]::before,
.cms-comment[style*="--depth:0"]::after {
	display: none !important;
}


.cms-comment-author img.hovercard {
	border-radius: 50%;
}

.cms-comment-badge {
	background-color: grey; 
    border-radius: 4px;
	color: white;	
	display: inline;
    font-size: 70%;
	margin-left: 5px;
    padding: 2px;
    text-transform: uppercase;
}
.cms-comment-badge.staff {
	background-color: blue;
}
.cms-comment-social {
    font-style: normal;
    margin-top: 10px;
	margin-left: -5px;
	padding-left: 0px;
}
.cms-comment-social .fa-thumbs-up,
.cms-comment-social .fa-thumbs-down {
    color: darkgrey;
    padding: 2px;
}
.cms-comment-social .fa-thumbs-down {
    margin-left: 2px;
}
.cms-comment-social .fa-thumbs-up.selected,
.cms-comment-social .fa-thumbs-down.selected {
    color: black;
}
.cms-comment-social a {
    color: #645d5d !important;
    margin-bottom: 5px;
    /*margin-left: 5px;*/
	/*padding: 2px;*/
    text-decoration: none;    
}

/* adding a new comment */
#cms_add_comment_form {
	margin-top: 20px;
}


/* for loading more comments */
.cms-comments-load {
	color: grey !important;
	display: block;
	margin-top: 10px;
	text-decoration: none;
}
.cms-comments-load:hover {
	text-decoration: underline;
}

/* modal for editing/replying to comments */
.modal-header button.close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 30px;
}
.modal-title {
	font-weight: 700;
}
.cms-modal-avatar {
	float: left;
	margin-right: 5px;
	max-height: 30px;
	max-width: 30px;
}
.cms-modal-in-reply-to {
	display: block;
	font-weight: 400;
	font-size: 80%;
}
.cms-modal-in-reply-to span {
	font-style: italic;
}
.cms-modal-original-comment {
	font-size: 80%;
	font-style: italic;
	font-weight: 400;
	margin-top: 10px;
}
.cms-modal-terms {
	display: inline;
	font-size: 80%;
}