/* headngs */
h1 { font-size: 2.0em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.25em; }
h4 { font-size: 1.0em; }
h5 { font-size: 0.75em; }
h6 { font-size: 0.5em; }

sup {
    color: red;
    display: inline;
}


/* striped tables custom alternate color on even rows */
.table.table-striped tr:nth-child(2n) {
	background: #ccf2ff;
}

/* pagination among posts and comments */
.pagination {
	display: block ruby !important;
	margin-bottom: 20px !important;
	margin-top: 20px !important;
	text-align: center;
	width: 100%;
}
.paginator hr {
	border-top: solid 1px #00F;
}

#left_container {
	text-align: justify;
}

/* this is the sidebar in right column */
#right_container .card-body a {
	display: block;
	/*padding: 5px;*/
	padding: 0px;
}
#right_container .card-body a:hover {
	background: none;
	text-decoration: underline;
}

/* sidebar cards */
.card-blesta > .card-header {
	margin-top: 0;
	padding-left: 15px;
	text-align: center;
	text-transform: uppercase;
}
.card-body a {
    border-radius: 4px;
	color: #4f4f4f;
	display: block;
	/*padding-bottom: 10px;*/
	/*padding: 5px;*/
	padding: 0px;
	width: 100%;
}
.card-body .active {
	background-color: #e7e7e7;
	color: #4f4f4f;
	text-decoration: none;
}
.card-body a:hover {
	background-color: #e7e7e7;
	color: #4f4f4f;
	text-decoration: none;
}

/* this is the table that contains an author's post 
   and comment count, total contributions to the 
   site, and ranking */
#cmsplus-author-summary a {
    display: inline !important;
    padding: 0px !important;
}
#cmsplus-author-summary .tip {
    color: blue;
    font-size: 8pt;
    padding-top: 5px;
    opacity: .75;
}
#cmsplus-author-summary .tip a {
    font-weight: 700;
}

/* this is the content in left column */
#left_container section:first-of-type {
	min-height: 1000px;
}

/* for flash/set message element */
.error_section {
	min-height: 0 !important;
}

/* all input fields in general */
input,
select,
textarea {
	padding: 2px;
}

/* for media elements */
iframe {
	border: solid 1px #ECECEC;
	display: block;
}
.modal-backdrop.in {display: none;}
.modal-title {  
    font-size: 16px;
}

/* on post listings */
#posts_heading {
	background-color: #000;
	color: #FFF;
	margin-bottom: 10px;
	padding: 5px;
	width: 100%;
}

#posts_title {
	font-weight: bold;
}

/* above blog post content directly below author information */
#cmsplus_post_info {
    color: grey;
    font-size: 80%;
    font-style: italic;
	margin-bottom: 20px;
    padding-left: 5px;
}

/* post itself */
#cmsplus_post_content {
    /*margin-bottom: 40px;*/
    text-align: justify;
}

/* for comments below a blog post */
#cmsplus_post_comments_container {
	border-top: solid 1px #ECECEC;
	font-size: 8pt;
	font-size: .75rem;
	max-height: 500px;
	overflow-y: scroll;
    /*margin-left: 20px;
	padding: 5px;*/
}

#cmsplus_add_comment_response {
    margin-top: 10px;
}

/* comments container header */
#cmsplus_post_comments_container_header {
	border-bottom: solid 1px darkgrey; 
	color: grey;
	font-size: 9pt;
	margin-bottom: 10px; 
	margin-top: 10px;
}

/* very first .row withing comment container  */
#cmsplus_post_comments_container .row {
    margin-left: 10px;
	margin-left: 0px;
    margin-right: 0px;
}

/* comments by users */
.cmsplus_comment { border-left: dotted 1px; }
.cmsplus_comment:nth-of-type(even) { background-color: #EFEFEF; }
/*.cmsplus_comment_replies_container .cmsplus_comment:nth-of-type(even) { background-color: #EFEFEF; }*/

.cmsplus_comment {
	width: 100%; 
}
.cmsplus_comment .comment {
    color: #484848;
    font-style: italic;
    margin-top: 5px;
    width: 100%;
}

/* this is the wrapper of a single reply comment */
.cmsplus_reply {
    margin-top: 10px;
}

/* this is the bubble next to a user's name in comments section */
.cmsplus_author_badge {
	background-color: grey; 
    border-radius: 4px;
	color: white;	
    font-size: smaller;
    margin-left: 5px;
    padding: 3px;
    text-transform: uppercase;
}

.cmsplus_inreplyto {
    color: grey;
    font-style: italic;
}

/* for liking/disliking/replying links */
.cmsplus_blog_social {
    font-style: normal;
    margin-top: 10px;
	/*text-align: right;*/
}
.cmsplus_blog_social .fa-thumbs-up,
.cmsplus_blog_social .fa-thumbs-down,
.cmsplus_blog_social .cmsplus_reply_comment,
.cmsplus_blog_social .cmsplus_edit_comment {
    color: darkgrey;
    padding: 2px;
}
.cmsplus_blog_social .fa-thumbs-down {
    margin-left: 2px;
}

.cmsplus_blog_social .cmsplus_reply_comment,
.cmsplus_blog_social .cmsplus_edit_comment {
    color: #645d5d;
    margin-bottom: 5px;
    margin-left: 5px;
}

/* voted comments */
.cmsplus_blog_social .fa-thumbs-up.selected,
.cmsplus_blog_social .fa-thumbs-down.selected {
    color: black;
}
.cmsplus_blog_social .cmsplus_like_comment,
.cmsplus_blog_social .cmsplus_dislike_comment,
.cmsplus_blog_social .cmsplus_reply_comment,
.cmsplus_blog_social .cmsplus_edit_comment {
    text-decoration: none;    
}


/* hover state on votable comments */
.cmsplus_blog_social .fa-thumbs-up.selectable:hover,
.cmsplus_blog_social .fa-thumbs-down.selectable:hover,
.cmsplus_blog_social .cmsplus_reply_comment:hover,
.cmsplus_blog_social .cmsplus_edit_comment:hover {
    color: black;
}

/* for post ratings */
.cmsplus_post_rating {
    cursor: pointer; 
}
.cmsplus_blog_social.stars {
    margin-top: 0px;
    margin-bottom: 20px;
    cursor: pointer; 
}
.cmsplus_blog_social.stars {
    margin-top: 0px;
    margin-bottom: 20px;
}
.cmsplus_blog_social.stars img {
    border-top: solid 1px darkgray;
    display: block;
    margin: 0 auto;
    margin-top: -5px;
    padding-top: 5px;
}

/* total number of post ratings */
.cmsplus_blog_social .cmsplus_rating_circle {
    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;
}

/* links to load more comments and/or replies */
.cmsplus_load_comments,
.cmsplus_load_replies {
	color: red;
	display: block;
	font-style: normal;
	margin-top: 10px;
}
.cmsplus_load_comments {
	padding-left: 10px;
}
.cmsplus_load_comments:hover,
.cmsplus_load_comments:visited,
.cmsplus_load_comments:link,
.cmsplus_load_comments:active,
.cmsplus_load_replies:hover,
.cmsplus_load_replies:visited,
.cmsplus_load_replies:link,
.cmsplus_load_replies:active {
	color: red;
	text-decoration: none;
}
.cmsplus_load_comments:hover,
.cmsplus_load_replies:hover {
	text-decoration: underline;
}


/* container wrappping replies */
.cmsplus_comment_replies_container {
	margin-left: 10px; 
	margin-top: 10px;
}


/* categories */
#cms-plus-read-more {
    color: red;
}


/* for reCaptcha in modal for adding posts */
#addPostModal .modal-body iframe { width: 100% !important; }
#addPostModal .text-muted {
    font-size: 10pt;
    font-style: italic;
}
#addPostModal .alert {
    font-size: 80%;
}

figure table td {
	border: 0px; 
}

/* for adding comments/posts and comment replies */
/* tinyMCE edit area */
.tox-edit-area {
	/*padding: 20px !important;*/
	margin: 10px !important;
}

.tox .tox-edit-area::before {
	border: none !important;
}


/* the text next to agree to terms checkbox */
label[for=terms] {
    color: #000 !important;
}

/* the modal that shows legalese terms of posting */
#modalTermsOfPosting div.alert {
    font-size: 12px;
    text-align: justify;
}

/* the modal used when editing/replying comments */
#commentModalTitle {
    color: #000 !important;
}

#commentModalTitleAvatar {
	float: left;
	margin-right: 10px;
	max-width: 90%;
}

#commentModalTitleLabel {
	font-size: 12px;
}

#commentModalTitleComment {
	color: blue;
	display: block;
	font-size: 12px;
	font-style: italic;
	font-weight: normal;
	margin-left: 50px;
}

#addCommentModalResponse,
#commentModalResponse {
	margin-top: 10px;
}
