:root {
    --gray-3: #333;
    --gray-4: #444;
    --gray-5: #555;
    --gray-6: #666;
    --gray-7: #777;
    --gray-9: #999;
}

html {
    height: 100%;
}

body {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.no-under {
	text-decoration: none;
}

.form-control {
	margin: 0;
}

.error {
	color: red;
}

.msg, .lbl {
	margin: 5px 0;
}

.lbl {
	font-weight: bolder;
}

.button-create {
	/*margin: 5px 0 15px 0;*/
	margin-left: 5px;
}

.btn-pad {
	padding: 4px 7px 3px 8px;
}

textarea.form-control {
	height: 150px;
}

.form-group.required label:after {
	content: " *";
	color: red;
}

.form-group.required .btn-file:after {
	content: "";
}

.form-group {
	/*word-break: break-all;*/
}

.captcha {
	word-break: break-all;
	word-break: break-word;
	font-weight: bolder;
	color: darkgreen;
	margin-bottom: 10px;
	font-size: 90%;
}

.captcha button {
	margin-right: 5px;
}

.help-block {
	font-size: 85%;
	word-break: break-all;
	word-break: break-word;
}

/*.ng-binding ul {
	padding-left: 20px;
}

.ng-binding ul:last-child {
	margin-bottom: 0;
}*/

.alert:last-child {
	margin-bottom: 0;
}

.alert {
    overflow-wrap: break-word;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #e7e7e7;
}

/* SimpleMDE */
.short .CodeMirror {
    height: 310px;
}

.simplemde-fullscreen .modal-dialog {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

/* modals */
@media (min-width: 768px) {
	.modal-dialog-narrow {
	    width: 400px;
	}
	
	.modal-dialog-fullscreen {
	    width: auto;
	    margin: 10px;
	}
	
	.modal-dialog-fullscreen .CodeMirror {
	    height: auto;
	}
}

.modal-body {
	background-color: #eee;
}

.input-group-addon {
	background-color: #ddd;
}

.mde-group .img:first-child, .mde-group .embed-responsive:first-child {
    margin-top: 0;
}

.mde-group-fullscreen {
    margin-right: 0;
}

.modal-button,
.ajax-button {
    position: relative;
}

.modal-button .modal-button-spinner,
.ajax-button .ajax-button-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -6px;
    margin-left: -9px;
}

.modal-button span.ng-hide,
.ajax-button span.ng-hide {
    display: inline !important;
    visibility: hidden;
}

/* article */

.article ul {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.article ul ul {
	margin-top: 0;
}

.article ul:first-child {
	padding-top: 0;
}

.article p {
	margin-bottom: 1rem;
}

.article p:first-child {
    margin-top: 0;
}

.article ul:last-child, .article p:last-child, .panel-body p:last-child {
	margin-bottom: 0;
}

.article li {
	margin-bottom: 10px;
}

.article li:last-child {
	margin-bottom: 0;
}

.article .carousel-indicators {
    display: flex;
    justify-content: center;
}

.article .carousel-indicators li {
    margin-left: 3px;
    margin-right: 3px;
    margin-bottom: 1px;
}

.article li > div.center {
	margin-left: -45px;
}

.subtitle {
	font-weight: bolder;
    padding-top: 0.5rem;
}

.subtitle1 {
	font-size: 140%;
	padding-top: 1.5rem;
}

.subtitle1:first-child {
	padding-top: 0;
}

.subtitle2 {
	font-size: 115%;
	padding-top: 1rem;
}

.nd_noarticle {
	color: #888; border-bottom: 1px dotted;
}

a.nd_article:link, a.nd_article:visited, a.nd_article:active, a.nd_article:hover {
	text-decoration: none;
	border-bottom: 1px dotted;
}

.nd_light {
	background-color: #202020;
	vertical-align: top;
}

.nd_dark {
	background-color: black;
	vertical-align: top;
}

a.gray:link, a.gray:visited, a.gray:active { color: gray }
a.gray:hover { color: white }

/* collapse */

.collapse__header {
	font-weight: bolder;
	padding-left: 12px;
	padding-right: 12px;
}

.collapse__header,
.collapse__header:visited,
.collapse__header:active,
.collapse__header:focus,
.collapse__header:hover {
	color: #333;
	text-decoration: none;
}

.collapse__header[aria-expanded="true"] .collapse--hidden {
    display: none;
}

.collapse__header[aria-expanded="false"] .collapse--visible {
    display: none;
}

/* img, embed, carousel etc. */

.embed-responsive-16by9 {
    padding-bottom: 56.30%;
}

.article .img,
.article .embed-responsive,
.article .carousel {
    margin-top: 12px;
	margin-bottom: 15px;
	margin-left: -12px;
	margin-right: -12px;
}

.article .img:first-child,
.article .embed-responsive:first-child,
.article .carousel:first-child {
	margin-top: -12px;
}

.article .img:last-child,
.article .embed-responsive:last-child,
.article .carousel:last-child {
	margin-bottom: -12px;
}

.quote .img:first-child,
.quote .embed-responsive:first-child,
.quote .carousel:first-child {
	margin-top: -10px;
}

.quote .img:last-child,
.quote .embed-responsive:last-child,
.quote .carousel:last-child {
	margin-bottom: -10px;
}

.quote .img-left:first-child,
.quote .img-right:first-child {
	margin-top: 4px;
}

.quote .img-left:last-child,
.quote .img-right:last-child {
	margin-bottom: 0;
}

.spoiler .img,
.spoiler .embed-responsive,
.spoiler .carousel {
	margin-left: 0;
	margin-right: 0;
}

.spoiler .img:first-child,
.spoiler .embed-responsive:first-child,
.spoiler .carousel:first-child {
	margin-top: 0;
}

.spoiler .img:last-child,
.spoiler .embed-responsive:last-child,
.spoiler .carousel:last-child {
	margin-bottom: -10px;
}

.spoiler .center:last-child {
    margin-bottom: 0;
}

.spoiler > div > p,
.spoiler .quote,
.spoiler .spoiler {
    margin-left: 12px;
    margin-right: 12px;
}

.article .img-left,
.article .img-left:first-child,
.article .img-right,
.article .img-right:first-child {
	margin-top: 4px;
}

@media (min-width: 768px) {
	figure {
		display: table;
	}

	figcaption {
		display: table-caption;
	}

	.article .img-left, .article .img-left:first-child {
		float: left;
		margin: 4px 12px 15px 0;
	}
	
	.article .img-right, .article .img-right:first-child {
		float: right;
		margin: 4px 0 15px 12px;
	}
}

.img-caption {
	text-align: center;
	font-style: italic;
	/*font-size: 85%;*/
	margin: 5px 12px 12px 12px;
}

.center {
	margin: 0 auto;
	text-align: center;
}

.center .img-caption {
    margin-bottom: 0;
}

.spoiler {
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #ddd;
	margin-bottom: 15px;
	/*border-radius: 2px;*/
}

.spoiler:last-child {
	margin-bottom: 0;
} 

.quote .spoiler,
.spoiler .spoiler {
	/*padding: 0;*/
	border: 1px solid var(--gray-6);
}

.spoiler + br {
	display: block;
	content: "";
}

.quote .spoiler {
    background-color: inherit;
}

.quote--bluepost .collapse__header,
.quote--bluepost .collapse__header:visited,
.quote--bluepost .collapse__header:active,
.quote--bluepost .collapse__header:focus,
.quote--bluepost .collapse__header:hover {
    color: #00bfff;
}

.quote--bluepost .quote {
    background-color: #333;
	border-left: 4px solid #2db32d;
}

/* article */

.article td {
	padding: 5px;
}

.article .nd_subtitle + .nd_subtitle2 {
	padding-top: 0;
}

.article .center {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 0 -5px 15px -5px;
}

.article .quote .center {
    margin-bottom: 0;
}

.article .center .img {
    margin: 5px;
}

.article > .center:last-child {
    margin-bottom: -5px;
}

.img .img-responsive {
	margin: 0 auto;
}

/* quote */

.quote {
	padding: 10px 12px;
	background-color: #ddd;
	/*border-radius: 2px;*/
	border-left: 4px solid #94d694;
	/*border-left: 4px solid #2db32d;*/
	margin-bottom: 15px;
	overflow: auto;
}

.quote:last-child {
	margin-bottom: 0;
}

.quote--author {
	font-weight: bolder;
}

.quote--header + .quote--body {
	margin-top: 5px;
}

.quote-body > p:last-child {
	margin-bottom: 0;
}

figcaption {
	caption-side: bottom;
}

.right {
	text-align: right;
}

/* wtf? */
/*.text {
	padding: 10px 5px 0 5px;
}*/

/* misc */

.tooltip {
    font-size: 16px;
}

/* bootstrap-select */

.bootstrap-select .text, .bootstrap-select .filter-option {
    font-size: 16px;
}

.bootstrap-select .filter-option {
    line-height: 1.3;
}

.bootstrap-select.open > .dropdown-toggle.btn-default,
.bootstrap-select > .btn-default:active,
.bootstrap-select > .btn-default:focus,
.bootstrap-select > .btn-default:hover {
    background-color: inherit;
}

/* grid */

@media (max-width: 767px) {
    :root {
        --gallery-grid-cell: 160px;
    }
}

@media (min-width: 768px) {
    :root {
        --gallery-grid-cell: 150px;
    }
}

.gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(var(--gallery-grid-cell), 1fr));
    grid-auto-rows: var(--gallery-grid-cell);
    /*grid-auto-flow: dense;*/
    grid-gap: 10px;
}

.grid-item {
    overflow: hidden;
    display: grid;
    grid-template-columns: 1;
    grid-template-rows: 1;
}

.grid-item img {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-item img {
    transition: transform 0.5s;
}

.grid-item:hover img {
    transform: scale(1.1);
}

.grid-item.ratio-w3.ratio-h2 {
    grid-column: span 2;
    grid-row: span 1;
}

.grid-item.ratio-w2.ratio-h3 {
    grid-column: span 1;
    grid-row: span 2;
}

.grid-item.ratio-w2,
.grid-item.ratio-w3 {
    grid-column: span 2;
}

.grid-item.ratio-h2,
.grid-item.ratio-h3 {
    grid-row: span 2;
}

.grid-item__overlay {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    position: relative;
    display: grid;
    justify-items: center;
    align-items: center;
    text-align: center;
    opacity: 0;
    transition: all 0.5s;
}

.grid-item:hover .grid-item__overlay {
    background: rgba(0, 0, 0, 0.2);
    opacity: 1;
}

.grid-item__overlay,
.grid-item__overlay:hover,
.grid-item__overlay:visited,
.grid-item__overlay:active,
.grid-item__overlay:link {
    text-decoration: none;
    color: #eeeeee;
    font-size: 120%;
    text-shadow: 0 0 5px black;
}

/* flex */

.flex-wrapper, .flex-center {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.flex-item {
    margin: 10px 5px;
    /*border-radius: 2px;*/
    overflow: hidden;
}

.flex-item-shaded {
    background-color: #ddd;
}

.flex-item p:last-child {
	margin-bottom: 0;
}

.card-image {
	width: 100%;
}

.sidebar-gallery .card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-body {
	padding: 7px 10px;
	word-wrap: break-word;
}

/* overlays */

.overlay-wrapper {
	display: inline-block;
    position: relative;
    min-width: 19px;
    min-height: 19px;
}

.overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 4px 4px 0 4px;
    background: white;
    color: #333;
    opacity: 0.75;
    filter: alpha(opacity=75);
    font-weight: bolder;
    text-align: right;
}

.overlay-solid {
    opacity: 1;
    filter: alpha(opacity=100);
}

.overlay-full {
	width: 100%;
}

/* gallery */

.gallery, .comics, .comics-issue, .streams {
    margin: -5px;
}

.gallery .flex-item,
.gallery-grid .grid-item,
.comics .flex-item,
.comics-issue .flex-item,
.streams .flex-item {
	box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.5);
}

.gallery.gallery--uniform .flex-item .overlay,
.gallery-grid .grid-item .overlay {
    transition: opacity 0.75s;
    opacity: 0;
}

.gallery.gallery--uniform .flex-item:hover .overlay,
.gallery-grid .grid-item:hover .overlay {
    opacity: 0.85;
}

.sidebar-gallery .gallery {
    margin: -7px;
}

@media (max-width: 767px) {
    /*.gallery .flex-item {
        width: 158px;
    }*/

    .sidebar-gallery .gallery .flex-item {
        width: 158px;
    }
}

@media (min-width: 768px) {
    /*.gallery .flex-item {
        width: 195px;
    }*/
    
    .sidebar-gallery .gallery .flex-item {
        width: 158px;
    }
}

@media (min-width: 992px) {
    .sidebar-gallery .gallery .flex-item {
        width: 104px;
    }
}

@media (min-width: 1200px) {
    .sidebar-gallery .gallery .flex-item {
        width: 129px;
    }
}

.sidebar-gallery .gallery .flex-item {
    margin: 7px;
}

.sidebar-gallery .gallery .flex-item .overlay {
    display: none;
}

@media (max-width: 767px) {
    .gallery.gallery--uniform .flex-item img {
        height: 200px;
        width: auto;
    }
}

@media (min-width: 768px) {
    .gallery.gallery--uniform .flex-item img {
        height: 300px;
        width: auto;
    }
}

.article .gallery {
    margin-bottom: 1rem;
}

.article .gallery-grid {
    margin-top: 0.5rem;
    margin-bottom: 2rem;
}

.article > .gallery-grid {
    margin-top: 1.5rem;
}

.article .gallery:last-child,
.article .gallery-grid:last-child {
    margin-bottom: 0;
}

.gallery > *,
.comics > *,
.comics-issue > *,
.streams > * {
    transition: transform 0.5s;
}

.gallery > *:hover,
.comics > *:hover,
.comics-issue > *:hover,
.streams > *:hover {
    transform: scale(1.05);
}

.fs-picture {
    position: relative;
}

.fs-picture.fullscreen {
    width: 100%;
    height: 100%;
    position: fixed;
    background: rgba(0, 0, 0, 1);
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
}

/*@media (max-width: 767px) {
    .fs-picture.fullscreen {
        align-items: start;
    }
}*/

.fs-picture.fullscreen > img {
    max-width: 100%;
    max-height: 100%;
}

.fs-picture .btn-link {
    filter: drop-shadow(0 0 1px black);
    color: var(--gray-6);
    opacity: 0.5;
    transition: all 0.5s;
}

.fs-picture .btn-link:focus {
    outline: none;
}

.fs-picture .btn-link:hover {
    color: var(--gray-9);
}

.fs-picture .btn-link.open {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
}

.fs-picture .btn-link.fs-overlay {
    display: none;
}

.fs-picture.fullscreen .btn-link {
    display: none;
}

.fs-picture.fullscreen .btn-link.fs-overlay {
    display: block;
    position: fixed;
}

.fs-picture .btn-link.close {
    top: 1.5rem;
    right: 1.5rem;
}

.fs-picture .btn-link.prev {
    left: 10%;
    top: 50%;
}

.fs-picture .btn-link.next {
    right: 10%;
    top: 50%;
}

/* no scrollbars for body */
/*.fullscreen {
    overflow: hidden;
}*/

.fullscreen .navbar-main,
.fullscreen .ad,
.fullscreen #comments,
.fullscreen #social-share,
.fullscreen .pagination-flex,
.fullscreen #sidebar,
.fullscreen #footer,
.fullscreen #main .panel-heading,
.fullscreen #main .breadcrumbs,
.fullscreen #main .panel-footer {
    display: none !important;
}

/* comics */

h3:first-child, h4:first-child {
	margin-top: 0;
}

@media (max-width: 767px) {
    .comic-image img {
    	height: 240px;
    	width: auto;
    }
}

.comic-image .overlay,
.gallery .overlay,
.gallery-grid .overlay {
    padding: 4px;
    opacity: 0.85;
    filter: alpha(opacity=85);
    line-height: 1.05em;
}

@media (min-width: 768px) {
    .comic-image .overlay {
    	font-size: 130%;
	    color: black;
    	font-weight: normal;
    }

    .gallery .overlay,
    .gallery-grid .overlay {
    	font-size: 110%;
    }
}

/* images */

img {  
  position: relative;
}

/* style this to fit your needs */
/* and remove [alt] to apply to all images*/
img[alt]:after {  
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: inherit;
  text-align: center;
  content: "";/*attr(alt);*/
}

/* datatables */

table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
	top: inherit;
}

@media (min-width: 768px) {
	.dataTables_length {
		text-align: right;
	}
}

div.dataTables_wrapper div.dataTables_paginate {
	text-align: center;
}

.modal-footer div:last-child {
	margin-bottom: 0;
}

.dataTable td {
    overflow: hidden;
}

/* utility */

.grid {
    display: grid;
}

.flex {
    display: flex;
}

.flex-v {
    align-items: center;
}

.p-0 {
    padding: 0;
}

.p-1 {
    padding: 0.5rem;
}

.p-2 {
    padding: 1rem;
}

.pt-0 {
    padding-top: 0;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 0.5rem !important;
}

.ph-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.m-1 {
    margin: 0.5rem;
}

.m-2 {
    margin: 1rem;
}

.mh-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 0.5rem !important;
}

.mb-2, .vgap-2 {
    margin-bottom: 1rem;
}

.vgap-2:last-child {
    margin-bottom: 0;
}

.mb-3 {
    margin-bottom: 2rem;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 0.5rem;
}

.mt-2 {
    margin-top: 1rem;
}

.mt-3 {
    margin-top: 2rem;
}

.ml-1 {
    margin-left: 0.5rem;
}

.ml-2 {
    margin-left: 1rem;
}

.ml-3 {
    margin-left: 2rem;
}

.mr-1,
.hgap-1 {
    margin-right: 0.5rem;
}

.mr-2,
.hgap-2 {
    margin-right: 1rem;
}

.mr-3,
.hgap-3 {
    margin-right: 2rem;
}

.hgap-1:last-child,
.hgap-2:last-child,
.hgap-3:last-child {
    margin-right: 0;
}

.grey-3,
.gray-3 {
    color: var(--gray-3);
}

.grey-4,
.gray-4 {
    color: var(--gray-4);
}

.grey-5,
.gray-5 {
    color: var(--gray-5);
}

.grey-6,
.gray-6 {
    color: var(--gray-6);
}

.grey-7,
.gray-7 {
    color: var(--gray-7);
}

.grey-9,
.gray-9 {
    color: var(--gray-9);
}

.red {
    color: red;
}

.white {
    color: white;
}

.heart {
    color: #ff3b3b;
}

.bg-white {
    background-color: white;
}

.b {
    font-weight: bolder;
}

.lh-12 {
    line-height: 1.2em;
}

.font-130 {
    font-size: 130%;
}

.font-150 {
    font-size: 150%;
}

.br-word {
    word-break: break-word;
}

.br-all {
    word-break: break-all;
}

.inline-block {
    display: inline-block;
}

/* ng-cloak */

.splash {
    display: none;
}

[ng-cloak].splash {
    display: block !important;
}
