
/*
// CatFlow Base CSS
//
// (C) 2020 ePress
*/

html, body {
	height: 100%;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

#catflow-page {
	height: 100%;
	position: relative;
	counter-reset: page-count;
}

.catflow-print-page.catflow-element {
	width: 210mm;
	height: 297mm;
	min-height: 297mm;
	padding: 20mm 20mm;
	counter-increment: page-count;
	content-visibility: auto;
}

.catflow-print-page.catflow-element.continuous {
	height: auto;
}

.catflow-print-page.catflow-element.A4-landscape {
	width: 297mm;
	height: 210mm;
	min-height: 210mm;
	height: auto;
}

.catflow-print-page.catflow-element.A3-portrait {
	width: 597mm;
	height: 410mm;
	min-height: 410mm;
}

.catflow-print-page.catflow-container {
	height: 100%;
}

.catflow-print-header.table,
.catflow-print-footer.table {
	margin-bottom: 0;
}

.catflow-print-header tbody > tr > td,
.catflow-print-footer tbody > tr > td {
	padding: 0;
}

.catflow-page-counter:before {
	content: counter(page-count);
}

.catflow-element {
	position: relative;
}

.catflow-element.catflow-modal {
	position: fixed;
}

.catflow-inline {
	/* to avoid the spaces among inline boxes */
	font-size: 0.01em;
}

.catflow-inline > div {
	display: inline-block;
	vertical-align: top;
	font-size: 100em;
} 

.catflow-flex {
	display: flex;
}

.catflow-flex > .catflow-element {
	flex: 1 1 auto;
}

.catflow-float-left {
	float: left;
	margin-right: 10px;
	z-index: 10;
}

.catflow-float-right {
	float: right;
	margin-left: 10px;
	z-index: 10;
}

.catflow-embed-float::after {
	content: " ";
	display: table; 
	clear: both;
}

.catflow-wide {
	margin-right: -15px;
	margin-left: -15px;
}

.catflow-video-responsive {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.catflow-table-fixed {
	table-layout: fixed;
}

.catflow-table-borderless > thead > tr > th,
.catflow-table-borderless > tbody > tr > th,
.catflow-table-borderless > tfoot > tr > th,
.catflow-table-borderless > thead > tr > td,
.catflow-table-borderless > tbody > tr > td,
.catflow-table-borderless > tfoot > tr > td {
	border: none;
}

.catflow-container.catflow-element > .catflow-container,
.catflow-collection.catflow-element > .catflow-collection,
.catflow-item.catflow-element > .catflow-item,
.catflow-collection > .catflow-container,
.catflow-item > .catflow-container,
.catflow-box > .catflow-container,
.catflow-box > a > .catflow-container,
.catflow-row > .catflow-row {
	min-height: 0;
	height: 100%;
}

.catflow-row > .catflow-column {
	/* not min-height; 0, to prevent columns from collapsing when empty */
	height: 100%;
}

.catflow-collection > .catflow-container.catflow-data-zone,
.catflow-item > .catflow-container.catflow-data-zone,
.catflow-container > .catflow-container.catflow-result-instance,
.catflow-container > .catflow-container.catflow-content-instance {
	height: auto;
}

.catflow-container.catflow-print-page > .catflow-container {
	height: auto;
}

.catflow-box.catflow-vertical-centered {
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.catflow-box.catflow-horizontal-centered {
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.catflow-box.catflow-vertical-centered.catflow-horizontal-centered {
	top: 50%; left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.catflow-gallery > .carousel-control {
	background-image: none;
}

.catflow-gallery > .carousel-control > .icon-prev,
.catflow-gallery > .carousel-control > .icon-next {
	background-color: #ccc;
	border-radius: 100%;
	width: 40px;
	height: 40px;
	font-size: 35px;
}

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

.catflow-inline .catflow-button + .catflow-button {
	margin-bottom: 0;
	margin-left: 5px;
}

.catflow-element > .show-invalid:invalid {
	border-color: #a94442;
}

.catflow-element > label > .show-invalid:invalid {
	color: #a94442;
}

.catflow-error-block {
	display: block;
	color: #a94442;
	font-size: smaller;
}

.catflow-column-break-after {
	break-after: column;
	column-break-after: always; /* Prince < 12 */
}

.catflow-column-spacer {
	/* height: 40px;
	background-color: red; */
}

.catflow-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.catflow-radio input:disabled ~ span,
.catflow-checkbox input:disabled ~ span {
	opacity: 0.5;
	cursor: default;
}

.catflow-tagsbox {
	border: 1px solid #ccc;
	border-radius: 4px;
}

.catflow-tag {
	padding: 5px;
	margin: 2px;
	display: inline-block;
}

.catflow-tag > .remove {
	margin-left: 5px;
	cursor: pointer;
}

.catflow-tagsbox > .catflow-combobox > input {
	border: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}