/**
 * HoReCa theme overrides (layout scroll, main content, animations).
 */

.horeca-post-meta__item {
	display: inline-block;
	margin-right: 1rem;
	font-size: 14px;
	line-height: 1.4;
}

.clearfix:before,
.clearfix:after {
	content: ' ';
	display: table;
}

.clearfix:after {
	clear: both;
}

html {
	height: auto !important;
	overflow: auto !important;
}

body {
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

/* --- Main content shell --- */

.horeca-main {
	clear: none;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #ddd;
}

.horeca-main-wrap > .horeca-page-title {
	margin-bottom: 0;
}

.horeca-main-wrap > .horeca-page-title + .horeca-main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.horeca-main__sheet {
	clear: both;
	display: flow-root;
	height: auto !important;
	min-height: 0 !important;
	background-color: #ddd;
}

.horeca-main-wrap .horeca-main__sheet {
	margin-left: calc(-1 * var(--horeca-shell-gutter));
	margin-right: calc(-1 * var(--horeca-shell-gutter));
	padding-left: var(--horeca-shell-gutter);
	padding-right: var(--horeca-shell-gutter);
}

.horeca-main__row {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.horeca-main__body {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

.horeca-main__content {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

body.horeca-site-styled .horeca-main__content,
body.horeca-site-styled .horeca-main__body,
body.horeca-site-styled .horeca-main__content .bd-postcontent-10,
body.horeca-site-styled .horeca-main__content .horeca-post__content {
	flex-basis: auto !important;
	-ms-flex-preferred-size: auto !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.horeca-site-styled .horeca-main__content .bd-fix-flex-height {
	width: 100% !important;
	max-width: 100% !important;
}

/* --- Blog / page content --- */

.horeca-blog {
	padding: 0;
	margin: 0;
}

.horeca-blog__title {
	margin: 0 0 1rem;
	text-align: center;
	font-size: 24px;
	line-height: 1.35;
}

.horeca-post {
	margin: 0;
}

.horeca-post__content {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

.horeca-main__content--full {
	width: 100%;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.horeca-main__content > .horeca-breadcrumbs.horeca-stack-block {
	margin-top: 0.75rem !important;
}

.horeca-post__readmore {
	margin: 0.75rem 20px 0;
}

.horeca-post__readmore-link {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	background: #000;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
}

.horeca-post__readmore-link:hover {
	background: #333;
	color: #fff;
	text-decoration: none;
}

.horeca-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin: 0.75rem 20px 0;
	font-size: 14px;
	color: #444;
}

.horeca-post__meta a {
	color: #000;
	text-decoration: underline;
}

/* --- Sidebar (primary, left) --- */

.horeca-main--with-sidebars .horeca-main__row {
	align-items: flex-start;
}

.horeca-sidebar {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	width: 25%;
	margin-top: 20px;
}

.horeca-sidebar__inner {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	margin-left: 20px;
	margin-right: 20px;
}

.horeca-sidebar__widgets {
	width: 100%;
}

@media (max-width: 767px) {
	.horeca-main-wrap .horeca-main__sheet {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.horeca-post__content,
	.horeca-post__readmore,
	.horeca-post__meta,
	.horeca-pagination {
		margin-left: 0;
		margin-right: 0;
		padding-left: var(--horeca-shell-gutter, 15px);
		padding-right: var(--horeca-shell-gutter, 15px);
		box-sizing: border-box;
	}
}

@media (max-width: 991px) {
	.horeca-sidebar {
		width: 33.3333%;
	}
}

@media (max-width: 767px) {
	.horeca-sidebar {
		width: 100%;
		text-align: left;
	}
}

/* --- Pagination --- */

.horeca-pagination {
	margin: 1rem 20px 0;
}

.horeca-pagination .pagination,
.horeca-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.horeca-pagination .page-numbers li,
.horeca-pagination .pagination > li {
	display: inline-block;
}

.horeca-pagination a,
.horeca-pagination span {
	display: inline-block;
	padding: 0.35rem 0.65rem;
	border: 1px solid #ccc;
	background: #fff;
	color: #000;
	text-decoration: none;
}

.horeca-pagination .current,
.horeca-pagination .active span {
	background: #000;
	color: #fff;
	border-color: #000;
}

/* --- Single post layout (theme_blog_2 / single.php) --- */

.horeca-post--detailed .horeca-post__header {
	margin: 0 20px 0.5rem;
}

.horeca-post--detailed .horeca-post__title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.35;
	text-align: center;
}

.horeca-post--detailed .horeca-post__meta--top {
	margin: 0 20px 0.75rem;
}

.horeca-post--detailed .horeca-post__media {
	margin: 0 20px 1rem;
	text-align: center;
}

.horeca-post--detailed .horeca-post__thumb-img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.horeca-post--detailed .horeca-post__meta--bottom {
	margin: 0.75rem 20px 0;
}

/* --- Footer vertical menu widget --- */

.horeca-footer-vmenu__list,
.horeca-footer-vmenu__sub {
	list-style: none;
	margin: 0;
	padding: 0;
}

.horeca-footer-vmenu__item > a {
	display: block;
	padding: 4px 0;
	color: #fff;
	text-decoration: none;
	line-height: 1.4;
}

.horeca-footer-vmenu__item > a:hover,
.horeca-footer-vmenu__item > a:focus {
	color: #e6dd3d;
	text-decoration: underline;
}

.horeca-footer-vmenu__popup {
	margin: 0.25rem 0 0.5rem 0.75rem;
}

.horeca-footer-vmenu__block-title h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: #fff;
}

/* --- Search forms --- */

.horeca-search {
	margin: 0.5rem 0;
}

.horeca-search__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.horeca-search__input {
	flex: 1 1 10rem;
	min-width: 0;
	padding: 0.45rem 0.65rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
}

.horeca-search__submit {
	padding: 0.45rem 0.9rem;
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
}

.horeca-search__submit:hover {
	background: #333;
}

/* --- Widget blocks (footer / sidebar) --- */

.horeca-widget {
	margin: 0 0 1rem;
}

.horeca-widget__title h4 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: #fff;
}

.horeca-sidebar .horeca-widget__title h4 {
	color: #000;
}

.horeca-widget__content {
	font-size: 14px;
	line-height: 1.45;
}

/* --- Comments --- */

.horeca-comments {
	margin: 1.25rem 20px 2rem;
}

.horeca-comments__title {
	margin: 0 0 1rem;
	font-size: 1.15rem;
}

.horeca-comments__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.horeca-comment__article {
	display: flex;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.horeca-comment__avatar-img {
	border-radius: 4px;
	max-width: 48px;
	height: auto;
}

.horeca-comment__main {
	flex: 1 1 auto;
	min-width: 0;
}

.horeca-comment__meta {
	margin: 0 0 0.35rem;
	font-size: 13px;
	color: #555;
}

.horeca-comment__meta a {
	color: #000;
}

.horeca-comment__text {
	font-size: 15px;
	line-height: 1.5;
}

.horeca-comment__reply a {
	display: inline-block;
	margin-top: 0.35rem;
	padding: 0.25rem 0.6rem;
	background: #000;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	font-size: 13px;
}

.horeca-comments__form label {
	display: block;
	margin: 0.5rem 0 0.25rem;
	font-weight: 600;
}

.horeca-comments__form input[type='text'],
.horeca-comments__form input[type='email'],
.horeca-comments__form input[type='url'],
.horeca-comments__form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.45rem 0.6rem;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.horeca-comments__form .form-submit input[type='submit'] {
	margin-top: 0.75rem;
	padding: 0.45rem 0.9rem;
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
}

.horeca-sidebar--secondary {
	width: 25%;
}

@media (max-width: 991px) {
	.horeca-sidebar--secondary {
		width: 33.3333%;
	}
}

@media (max-width: 767px) {
	.horeca-sidebar--secondary {
		width: 100%;
	}
}

/* Template body hooks (legacy .bd-body-* in style.core). */

body.horeca-template-front {
	position: relative;
}

@media (max-width: 1199px) {
	body.horeca-template-single {
		position: relative;
	}
}

/* Legacy stretch wrappers. */

.horeca-stretch,
.bd-stretch-to-bottom {
	height: auto !important;
	min-height: 0 !important;
}

.horeca-stretch .horeca-main__sheet,
.bd-stretch-to-bottom [class*="bd-contentlayout-"] {
	height: auto !important;
	min-height: 0 !important;
}

.animated {
	animation-duration: 1s;
	animation-fill-mode: both;
}

.animated.infinite {
	animation-iteration-count: infinite;
}

.animated.hinge {
	animation-duration: 2s;
}

@keyframes bounce {
	0%,
	20%,
	53%,
	80%,
	100% {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translate3d(0, 0, 0);
	}
	40%,
	43% {
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		transform: translate3d(0, -30px, 0);
	}
	70% {
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		transform: translate3d(0, -15px, 0);
	}
	90% {
		transform: translate3d(0, -4px, 0);
	}
}

.bounce {
	animation-name: bounce;
	transform-origin: center bottom;
}

.bd-animation.animated.bounce {
	animation-duration: 1000ms;
	animation-delay: 0ms;
}
