/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/
/* Add your custom styles here...Remember to change the Version number above! */
/* Home page */
.hero-grid-block {
	overflow: hidden;
	position: relative;
}

.hero-grid-block:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0);
	left: 0;
	top: 0;
	z-index: 2;
}

.hero-grid-block__title {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	width: 95%;
}

.hero-grid-block .fl-module-photo {
	height: 100% !important;
	width: 100%;
}

.hero-grid-block img {
	transition: all .3s ease;
}

.hero-grid-block:hover img {
	transform: scale(1.1)
}

.hero-grid-block:hover:before {
	background: rgba(0, 0, 0, .3);
}

/* Gallery Block */
.custom-gallery .uabb-photo-gallery {
	display: flex !important;
	flex-wrap: wrap !important
}

.custom-gallery .uabb-photo-gallery .uabb-photo-gallery-content, .custom-gallery .uabb-photo-gallery .uabb-photo-gallery-content a,
.custom-gallery .uabb-photo-gallery .uabb-photo-gallery-content img {
	object-fit: cover !important;
	height: 100% !important
}

.custom-gallery .pagination-load_more, .pp-video-gallery-pagination {
	position: relative !important;
}

.custom-gallery .pagination-load_more:before, .pp-video-gallery-pagination:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 14.5rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 64.29%);
	left: 0;
	bottom: 0;
}

.custom-gallery .pagination-load_more a, .pp-video-gallery-pagination a {
	margin-top: 0 !important;
	position: relative !important;
	z-index: 2;
	display: inline-flex !important;
	gap: 5px;
	align-items: center;
	padding: 12px 15px !important;
}

.custom-gallery .pagination-load_more .uabb-gallery-load-more::after, .pp-video-gallery-pagination a:after {
	content: "\f063";
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /* solid */
	font-size: 0.9em;
	line-height: 1;
	display: inline-block;
}

.pp-video-gallery-pagination {
	margin-top: -24px !important;
}

/*  Gallery navigation */
.mfp-arrow, .mfp-bottom-bar {
	display: none !important;
}

.mfp-img {
	pointer-events: none !important;
	cursor: pointer !important;
}

/* Price Cards*/
.price-cards .fl-module-button {
	margin-top: auto !important;
}

.price-list .fl-list-item-content, .price-list .fl-list-item-content-icon {
	display: flex !important;
	align-items: center;
}

/*Blog Posts and Recent Posts*/
.blog-page .acf-posts-by-category {
	display: grid;
	gap: 32px;
	position: relative;
	overflow: hidden;
}

@media (min-width: 768px) {
	.blog-page .acf-posts-by-category {
		grid-template-columns: repeat(3, 1fr);
	}
}

.acf-posts-by-category__item {
	position: relative;
}

.acf-posts-by-category__item:hover .cat, .acf-posts-by-category__item:hover .post-title {
	color: #333 !important;
}

.acf-posts-by-category__item a {
	outline: none !important;
}

@media (min-width: 768px) {
	.blog-page .acf-posts-by-category__item {
		padding-bottom: 32px;
	}
}

@media (min-width: 768px) {
	.blog-page .acf-posts-by-category__item:nth-child(3n)::after {
		content: "";
		position: absolute;
		left: -300%;
		right: 0;
		bottom: 0;
		height: 1px;
		background-color: #ddd;
	}
}

.acf-posts-by-category__item-image {
	position: relative;
}

.acf-posts-by-category__item img {
	object-fit: cover;
	height: 35rem;
	width: 100%;
}

@media (min-width: 768px) {
	.acf-posts-by-category__item img {
		height: 30rem;
	}
}

.acf-posts-by-category__item-image .cat {
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.75);
	padding: 4px 8px;
	text-transform: uppercase;
	font-weight: 700;
	color: black;
	font-size: 20px;
	font-family: "Baskervville", serif !important;
}

@media (min-width: 769px ) and (max-width: 1201px ) {
	.acf-posts-by-category__item-image .cat {
		font-size: 18px;
	}
}

.acf-posts-by-category__item .post-title {
	text-transform: uppercase;
	font-weight: 700;
	margin-top: 8px;
	margin-bottom: 0;
}

.acf-posts-by-category__search {
	padding-bottom: 50px;
}

@media (min-width: 768px) {
	.mobile-only {
		display: none;
	}
}

.category-list {
	display: flex;
	list-style: none;
	padding-left: 0;
	gap: 10px;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-bottom: 48px;

	a {
		font-weight: 700;
		text-transform: uppercase;
		color: black;
		padding: 8px 16px;
		background-color: transparent;
		display: block;
	}

	a:hover {
		color: #333;
	}

	.current-cat a {
		background-color: black;
		color: white !important;
	}
}

@media (max-width: 767px) {
	.desktop-only {
		display: none;
	}
}

.mobile-only {
	margin-bottom: 32px;

	.category-select {
		width: 100%;
		padding: 8px 16px;
		outline: none;
		background-color: #e6e6e6;
		border: 1px solid #262626;
		border-radius: 0;
	}

	option {
		background-color: white;
	}
}

/*Search*/
.acf-posts-by-category__search {
	display: flex;
	justify-content: center;
	align-items: center;

	form {
		display: flex;
		width: 100%;
	}

	.search-field {
		height: fit-content;
		border-radius: 0;
		padding: 8px 16px;
		border-color: #cacaca;
	}

	button {
		padding: 8px 15px;
		font-family: "Plus Jakarta Sans", serif !important;
		font-weight: 400 !important;
	}
}

@media (min-width: 767px) {
	.acf-posts-by-category__search form {
		max-width: 70%;
	}
}

/* Posts Slider*/
.recent-posts-row {
	overflow: hidden !important;
}

.recent-posts-slider {
	.slick-list {
		padding: 0 !important;
	}

	.slick-slide {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

@media (min-width: 1025px) {
	.recent-posts-slider .slick-list {
		overflow: visible;
	}

	.recent-posts-slider .slick-track {
		margin-left: -16px !important;
	}

	.recent-posts-slider {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

.slick-dots {
	margin-bottom: 0;
	list-style: none;
	justify-content: flex-end;
	padding-right: 16px;
	padding-left: 16px;
	gap: 7px;
	display: flex;
	transition: opacity .2s ease;
	padding-top: 20px !important;

	button {
		display: block;
		width: 30px;
		height: 4px;
		padding: 0;
		border: 0;
		outline: none;
		background: #262626;
		font-size: 0 !important;
		opacity: .5;
	}

	button:hover {
		opacity: .8;
	}

	.slick-active button {
		opacity: 1;
	}
}

@media (max-width: 651px) {
	.slick-dots {
		justify-content: center;

		button {
			width: 20px;
		}
	}
}

/*Contact Maps*/
.map-block {
	position: relative;

	.map-title {
		position: absolute;
		left: -1px;
		top: -1px;
		padding: 4px 16px;
		background-color: #262626;
	}

	iframe {
		width: 100%;
		max-height: 384px;
	}
}

/* Footer */
.social-box p, .social-box i::before {
	transition: all .2s ease !important;
}

.social-box:hover p, .social-box:hover i::before {
	color: #aaa !important;
}

.footer-menu ul::before {
	display: none !important;
}

.footer-menu ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.footer-menu a:hover {
	text-decoration: underline !important;
}

@media (min-width: 1200px) {
	.footer-menu-sec ul {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
	}
}

/* End of Footer */

.text-holder
{
position: fixed !important;
width: 6.875rem !important;
height: 6.875rem !important;
border-radius: 100% !important;
background: #aaa;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px; 
bottom: 3.125rem;
right: .625rem;
padding: .3125rem;
z-index: 9;
color: #fff;
text-align: center;
}

@media (min-width: 1024px) {
	.text-holder {
		display: none !important;
	}
	.blog .text-holder {
		display: flex !important;
	}
}

.s3-auto-image {
	margin-top: 1.5rem;
}

.s3-auto-image img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}