/* Custom CSS Loader - Add your custom styles here */

/*
* Header Menu
*/

/* Menu items positioning */
#theme-header .header-inner {
	justify-content: space-between;
}

/* Header Menu: link color */
.menu-item-has-children .sub-menu a {
	color: #fff !important;
}

/* Header Menu: Hover */
.menu-item-has-children a:hover {
	color: #fff !important;
}

/* Header Menu: Hover */
.menu-item-has-children .sub-menu a:hover {
	background: none !important;
}

/* Header Menu: Hover */
.menu-item-has-children .sub-menu li:hover {
	background-color: #b30000 !important;
	border-radius: 10px;
}

/* Header Menu: Hover */
#theme-header-nav .menu li a:hover {
	color: #fff !important;
}

/* Header Menu: Hover */
#theme-header-nav .menu li:hover {
	background: var(--theme-header-secondary-color);
	border-radius: 10px;
}

/* Header Menu: Hover */
#theme-header-default-menu .menu-item-has-children:has(.sub-menu:hover) > a {
	color: #fff !important;
	background-color: #b30000 !important;
}

/* Header Menu */
#theme-header-default-menu .menu-item a {
	font-weight: 700;
	font-size: 19px;
	padding: 0 15px;
}

/* Header logo */
#theme-header .header-left-content .custom-logo-link img {
	max-height: 60px;
}

/* Header Height*/
#theme-header {
	min-height: 90px;
}

/*------------BACK PAGES-------------------*/

/* Banner */
body:not(.home) #theme-banner {
	background-color: transparent;
}


/* Banner */
#theme-banner .banner-title {
	font-size: 3em;
}

/* Banner */
#theme-banner {
	min-height: 340px;
}

/* Links */
body:not(.blog):not(.archive) .site-inner main a {
	color: var(--theme-content-link-color) !important;
}

/* Posts */
.single .site-inner main.content .unity__post-thumbnail img.wp-post-image {
	display: none;
}


body:not(.fpt-template) .site-inner>div {
	max-width: 1500px !important;
}

/* Sidebar */

.site-inner .content-sidebar-wrap .widget {
	background: linear-gradient(rgb(255 255 255 / 51%), rgb(255 255 255 / 62%)), url(/wp-content/uploads/2025/06/mason-sidebar-bg-1.png);
	background-size: cover !important;
	background-blend-mode: overlay;
	border: 1px solid #d0d0d0 !important;
	padding: 45px;
}

.site-inner .content-sidebar-wrap section#recent-posts-7002 {
	padding-bottom: 15px !important;
}

.widget_recent_entries li a {
	color: #7d0000;
	max-width: 30ch !important;
	display: inline-block;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	padding: 5px !important;
	margin: 0px !important;
	vertical-align: middle;
}

.widget_recent_entries li {
	margin-bottom: 10px !important;
	padding-bottom: 5px;
	border-bottom: 1px solid #dedede;
}

.widget_recent_entries li a {
	color: #7d0000;
}

.widget_recent_entries li a:hover {
	font-weight: 600;
}


.widget_recent_entries li:last-child {
	border: none;
	padding-bottom: 0;
}


.site-inner .content-sidebar-wrap aside {
	top: 130px !important;
}

body.admin-bar .site-inner .content-sidebar-wrap aside {
	top: 180px !important;
}

/*------------------------------------------*/

/*
* Homepage
*/

/* Homepage background */
.unity-pro-home-backstretch-background {
	background-color: #fff;
	background-blend-mode: luminosity;
}

/* Hero Section */
#front-page-hero-section {
	margin-top: -17rem !important;
}

/* Homepage: Down arrow */
.fl-node-n7l5s0e43vyp .pp-down-arrow-wrap .pp-down-arrow.pp-da-bounce {
	animation: 3s ease 0s infinite normal none running bounce !important;
}

/* Homepage: Down arrow */
.pp-down-arrow-container {
	position: fixed !important;
	bottom: 40px;
	left: 50% !important;
	transform: translateX(-50%) !important;
	z-index: 1000;
	width: auto !important;
	margin: 0 !important;
}

/* Homepage: Down arrow */
.pp-down-arrow-wrap {
	position: relative !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

/* Homepage: Down arrow  */
.pp-down-arrow {
	position: relative !important;
	cursor: pointer;
	transition: all 0.3s ease;
}

/* Homepage: Down arrow Text */
.pp-down-arrow-container::before {
	content: "Explore our services";
	color: #4a0000;
	font-weight: 800;
	font-size: 1.2rem;
}

/* Homepage: Down arrow Animation */
.pp-da-bounce {
	animation: bouncePattern  6s infinite !important;
}

/* Down Arrow animation */
@keyframes bouncePattern {
	0% { transform: translateY(0); }
	7% { transform: translateY(-10px); }
	14% { transform: translateY(0); }
	21% { transform: translateY(-8px); }
	28% { transform: translateY(0); }
	35% { transform: translateY(-6px); }
	42% { transform: translateY(0); }
	49% { transform: translateY(-4px); }
	56% { transform: translateY(0); }
	63% { transform: translateY(-2px); }
	71% { transform: translateY(0); }
	71%, 100% { transform: translateY(0); }
}

/* Homepage: Down arrow */
.bb-home-section,
.pp-down-arrow-container {
	opacity: 0;
	animation: showArrowWithDelay 0.5s ease-in-out 2s forwards;
}

/* Homepage: Down arrow */
@keyframes showArrowWithDelay {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Homepage Cards Hover */
.card-hover {
	transition: all 0.3s ease;
}

/* Homepage Cards Hover */
.card-hover:hover {
	transform: translateY(-4px);
}

/* Homepage Cards Hover */
.card-hover.offices > .fl-col-content:hover,
.fl-module-content.fl-node-content:has(.fl-callout):hover {
	border-color: #4a0000 !important;
	transition: all 0.8s ease;
}

/* Homepage Cards Links */
.fl-callout-text a {
	color: #7d0000;
}

/* Homepage Cards Links Hover */
.fl-callout-text a:hover {
	color: #b30000;
}

/*------------------------------------------*/

/*
* Footer
*/

/* Footer */
#theme-footer .footer-center {
	flex-direction: row;
}

/* Footer Badges */
.footer-badges img {
	width: 200px;
}

/* Footer 1 */
#theme-footer .footer-content.footer-left {
	justify-content: flex-start;
}

/* Footer 1 */
.footer-slogan {
	margin-top: -30px !important;
}

/* Footer 2 */
#theme-footer .footer-content.footer-center {
	flex-basis: 50%;
	justify-content: space-around;
}

/* Footer 3 */
#theme-footer .footer-content.footer-right {
	flex-basis: 20%;
	flex-direction: row;
}

/*------------------------------------------*/

/*
* Media Queries
*/

/* Header Smaller Screens */
@media (max-width: 1620px) {
	#theme-header-default-menu .menu {
		gap: 12px 12px !important;
	}

	#theme-header .header-left-content .custom-logo-link img {
		max-height: 55px;
	}

}

@media (max-width: 1400px) {
	#theme-header-default-menu .menu-item a {
		padding: 0 15px;
		font-size: 16px;
	}
	#theme-header .header-left-content .custom-logo-link img {
		max-height: 45px;
	}
}

@media (min-width: 993px) and (max-width: 1399px) {
	#theme-header-default-menu .menu-item a {
		padding: 0 10px;
		font-size: 14px;
	}

	#theme-header .header-left-content .custom-logo-link img {
		max-height: 40px;
	}

	#theme-header-default-menu .menu {
		gap: 12px 5px !important;
	}

}

/* Backpages */
@media (max-width: 1280px) {
	.fl-node-h8ld64yeaio9 {
		width: 100%;
		padding: 20px 180px 20px 180px;
	}

	.fl-col.fl-node-f3nto67zhu2r {
		width: 100%;
		padding: 20px 100px 20px 100px;
	}

	.fl-col.fl-node-4t0ahx9czuqs {
		width: 100%;
	}
}

/* Homepage: Down arrow */
@media (max-width: 768px) {
	.pp-down-arrow-container {
		bottom: 15px;
	}

	.pp-down-arrow svg {
		width: 35px !important;
		height: 35px !important;
	}
}

/* Homepage: Down arrow */
@media (max-width: 500px) {
	.pp-down-arrow-container {
		display: none !important;
	}

	#front-page-hero-section {
		margin-top: -3rem !important;
	}

	#theme-banner h1 {
		font-size: 2.2em !important;
	}
}

@media screen and (max-width: 780px) and (max-height: 420px) {
	.pp-down-arrow-container {
		display: none !important;
	}
}

/* Maps */
@media (max-width: 768px) {
	.map-embed {
		aspect-ratio: 4 / 3;
	}
}

/* Maps */
@media (max-width: 480px) {
	.map-embed {
		aspect-ratio: 1 / 1;
	}
}

/* Footer: Search Form */
@media (min-width: 993px) and (max-width: 1500px) {
	.footer-content .search-form .search-form-input::placeholder {
		font-size: 16px;
	}

	.footer-content .search-form input:not([type='checkbox']) {
		padding: 13px;
	}
}

/* Footer: Search Form */
@media (min-width: 993px) and (max-width: 1390px) {
	.footer-content .search-form .search-form-input::placeholder {
		font-size: 15px;
	}

	.footer-content .search-form input:not([type='checkbox']) {
		padding: 12px;
	}
}

/* Footer: Search Form */
@media (min-width: 993px) and (max-width: 1300px) {
	.footer-content .search-form .search-form-input::placeholder {
		font-size: 12px;
	}

	.footer-content .search-form input:not([type='checkbox']) {
		padding: 10px;
	}
}

/*------------------------------------------*/

/*
* Google Maps iframe
*/

.map-embed {
	width: 100%;
	max-width: 100%;
	aspect-ratio: 500 / 350;
	border-radius: 20px;
	overflow: hidden;
}

.map-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: inherit;
}

/*------------------------------------------*/

/*
* Minor Tweaks
*/

html {
	scroll-behavior: smooth;
}

/*------------------------------------------*/

