/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://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: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */ 

/* Global Rules */
@keyframes emp { 
    0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(255,255,255,.4) } 
    50% { opacity:.6; box-shadow:0 0 0 6px rgba(255,255,255,0) } 
}
.hover-btn-animation.fl-module .fl-button {
    transition: transform 0.25s ease;
    transform: translateY(0);
}
.hover-btn-animation.fl-module:hover .fl-button {
    transform: translateY(-1px);
}
.hover-btn-animation.fl-module .fl-button-text {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
}
.inline-col-flex .fl-col-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}
.inline-col-flex.flex-center .fl-col-content {
	justify-content: center;
}
/* Top Header */
.emergency-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 9px 20px;
}
.emergency-pulse {
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    animation: emp 2s ease-in-out infinite;
    flex-shrink: 0;
}

/* Main Home Section */
/* Main Home Section Background */
.disclosure-area.fl-row {
  position: relative;
  overflow: hidden;
}
.geo-shield-wrap {
  position: absolute;
  right: -4%;
  top: 50%;
  transform: translateY(-50%) rotate(8deg);
  width: 520px;
  height: 624px;
  pointer-events: none;
  z-index: 0;
}
.geo-shield-wrap-2 {
  position: absolute;
  left: -2%;
  top: 50%;
  transform: translateY(-45%) rotate(-6deg);
  width: 280px;
  height: 336px;
  pointer-events: none;
  z-index: 0;
}
.corner-bracket {
  position: absolute;
  width: 60px;
  height: 60px;
  pointer-events: none;
  z-index: 0;
}
.corner-bracket.tl {
  top: 32px;
  left: 5%;
}
.corner-bracket.br {
  bottom: 32px;
  right: 5%;
}
.corner-bracket.br::before {
  bottom: 0;
  right: 0;
  width: 28px;
  height: 2px;
}
.corner-bracket.br::after {
  bottom: 0;
  right: 0;
  width: 2px;
  height: 28px;
}
.corner-bracket::before, .corner-bracket::after {
  content: '';
  position: absolute;
  background: #C8102E;
  opacity: .15;
}
.corner-bracket.tl::before {
  top: 0;
  left: 0;
  width: 28px;
  height: 2px;
}
.corner-bracket.tl::after {
  top: 0;
  left: 0;
  width: 2px;
  height: 28px;
}

/* Main Home Section Breadcrumb/navigation */
.step {
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}
.step.visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
}
.step.hidden {
    opacity: 0;
    transform: translateY(16px);
    visibility: hidden;
    pointer-events: none;
}

.breadcrumb {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 36px;
  align-items: center;
}
.crumb.active {
  background: #C8102E;
  width: 28px;
  border-radius: 5px;
}
.crumb {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e4e2dd;
  transition: all .35s cubic-bezier(.25,.46,.45,.94);
}

/* Main Home Section Cards */
.audience-btn > .fl-col-content {
  cursor: pointer;
  transition: all .35s cubic-bezier(.25,.46,.45,.94);;
  text-align: center;
  position: relative;
  overflow: hidden; /* changed from visible to hide the border length on hover. Might revert it back for other effects, needs testing */
}
.audience-btn > .fl-col-content:hover {
	border-color: #C8102E;
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .1);
}
/* .audience-btn .audience-btn-col > .fl-col-content:hover {
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
} */
.audience-btn > .fl-col-content:hover .card-icon-overlay {
  transform: translate(-50%,-50%) scale(1.08);
  box-shadow: 0 6px 24px rgba(200,16,46,.35);
}
.audience-btn > .fl-col-content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #C8102E;
    border-radius: 0 0 16px 16px;
    transform: scaleX(0);
    transition: transform .35s cubic-bezier(.25,.46,.45,.94);
}
.audience-btn > .fl-col-content:hover::after {
    transform: scaleX(1);
}

/* Main Home Section Cards - Background Image */
.card-photo-label-container > .fl-col-content {
	position: relative;
	justify-content: center;
	align-items: center;
	display: flex;
}
.card-photo-label-container > .fl-col-content::before {
	content: '';
    position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(42, 45, 53, .1) 0%, rgba(42, 45, 53, .5) 100%);
}
.card-photo-label-container > .fl-col-content .card-photo-label {
	z-index: 2;
}
/* Main Home Section Cards - Icons */
.card-icon-overlay {
  position: absolute;
  left: 50%;
  top: 250px;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: #C8102E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: 0 4px 20px rgba(200,16,46,.25);
  border: 4px solid #fff;
  transition: all .3s cubic-bezier(.25,.46,.45,.94);
}
.card-icon-overlay svg {
  width: 26px;
  height: 26px;
  stroke: #fff;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.card-tag.fl-module p {
  display: inline-block;
  padding: 4px 12px;
  background: #fdf0f2;
  color: #C8102E;
  border-radius: 100px;
  letter-spacing: .3px;
}
.info-list-cta .pp-infolist-icon {
	position: relative;
}
.info-list-cta .pp-infolist-icon .pp-infolist-icon-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fdf0f2;
	border-radius: 100px;
}

/* ROW 2 */
/* Main Home Section Cards Step 2 */
.card-step-wrapper > .fl-col-content > .fl-col-group {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.card-step-wrapper  > .fl-col-content > .fl-col-group .category-card {
	width: 238px;
}
/* .category-card {
	max-width: 238px;
} */
.category-card .fl-col-content { 
    cursor: pointer;
    transition: all .35s cubic-bezier(.25, .46, .45, .94);
    text-align: center;
    position: relative;
    overflow: hidden;
	border-radius: 16px;
	height: 100%;
}
.category-card:hover .fl-col-content {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .1);;
}
.category-card:hover .fl-col-content {
	border: 1px solid #C8102E;
}
.category-card:hover .cat-icon-large {
    background: #C8102E;
    transform: scale(1.05);
	
}
.category-card:hover .cat-icon-large.fl-module > svg {
    stroke: #fff;
}
.category-card .fl-col-content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #C8102E;
    transform: scaleX(0);
    transition: transform .35s cubic-bezier(.25, .46, .45, .94);
	width: 100%;
}
.category-card:hover .fl-col-content::after {
    transform: scaleX(1);
}
.category-card:hover .fl-col-content::after {
    transform: scaleX(1);
}
.cat-icon-large.fl-module {
    width: 80px;
    height: 80px;
	min-height: 80px;
	max-height: 80px;
    margin: 20px;
    background: #fdf0f2;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
	align-self: center;
}
.cat-icon-large.fl-module > svg {
    width: 38px;
    height: 38px;
    stroke: #C8102E;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .3s;
}
.job-icon.fl-module {
	display: flex;
	align-items: center;
}
.job-icon.fl-module > svg {
	width: 23px;
    height: 23px;
    stroke: #C8102E;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .3s;
	padding-right: 6px;
}
.job-icon .fl-job-type span {
	padding: 0 5px;
}
.job-icon .fl-job-type span:first-child {
	padding: 0 5px 0 0;
}
.job-icon.fl-module .fl-job-type:not(:first-child) span > span {
	position: relative;
}
.job-icon.fl-module .fl-job-type span:not(:last-child) > span:after {
	display: block;
	position: absolute;
	content: "";
	right: -4px;
  	top: 3px;
	width: 1px;
	height: 10px;
	background-color: #C8102E;
}
/* STEP 3 */
.inline-flex-button-group .fl-col-content {
	flex-wrap: wrap;
  	flex-direction: row;
	justify-content: center;
}
.btn-hover-icon {
    position: relative;
    transition: all .25s cubic-bezier(.25,.46,.45,.94);
}
.btn-hover-icon:hover {
    transform: translateX(4px);
}
.btn-hover-icon:after {
    content: '→';
    position: relative;
    display: inline-block;
    margin-left: 6px;
    opacity: 0;
    transform: translateX(-4px);
    transition: all .25s cubic-bezier(.25,.46,.45,.94);
    font-size: 16px;
}
.btn-hover-icon:hover:after {
    opacity: 1;
    transform: translateX(0);
}


/* Video Section */
.video-corner-accent,
.photo-corner-accent,
.map-corner-accent, .map-corner-right {
	position: relative;
}
.photo-corner-accent > .fl-photo-content img {
	padding: 20px;
}
.photo-corner-accent > .fl-photo-content:before ,
.video-corner-accent > .fl-module-content:before,
.map-corner-accent > .fl-module-content:before {
	position: absolute;
	content: "";
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    border-top: 3px solid #C8102E;
    border-left: 3px solid #C8102E;
    border-radius: 12px 0 0 0;
    opacity: .5;
}
.map-corner-accent.map-corner-right > .fl-module-content:before {
	left: auto;
	right: 0;
	border-left: none;
	border-right: 3px solid #C8102E;
	border-radius: 0 12px 0 0;
}
.photo-corner-accent.right-corner > .fl-photo-content:before {
	left: auto;
	right: 0;
	border-right: 3px solid #C8102E;
	border-left: 0;
	border-radius: 0 12px 0 0;
}

.custom-info-list .pp-list-items .pp-list-item  .pp-list-item-content .pp-heading-wrapper {
	display: flex;
}
.custom-info-list .pp-list-items .pp-list-item  .pp-list-item-content .pp-heading-wrapper .pp-infolist-title {
	margin-top: 10px;
  	margin-right: 20px;
}
.custom-info-list.sml-txt .pp-list-items .pp-list-item  .pp-list-item-content .pp-heading-wrapper .pp-infolist-title {
	margin-top: 3px;
}
.custom-info-list .pp-list-items .pp-list-item:last-child .pp-list-item-content {
	border: none;
}

/* Footer */
.cta-shield-bg, .cta-shield-bg .fl-row-content {
	position: relative;
}
.cta-shield-bg .fl-row-content:before {
	content: "";
	background-image: url("/wp-content/uploads/2026/02/shield.svg");
	background-repeat: no-repeat;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(8deg);
    width: 300px;
    height: 360px;
    pointer-events: none;
    z-index: 0;
}
.fl-module .availability-signal {
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.fl-module .availability-signal svg {
    opacity: .5;
}
.fl-module .availability-signal strong {
	color: #22c55e!important;
    font-weight: 600;
}
.fl-col-content .fl-module .footer-link-red > a {
	color: #C8102E;
}
/* Trusted Section */
.custom-inline-info-list .pp-infolist-wrap .pp-list-items {
	display: flex;
  	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

/* Custom Tabs */
.custom-tabs .pp-tabs-labels .pp-tab-title > h3 {
	font-size: 13px;
	font-family: "DM Sans", sans-serif;
	margin-top: 0;
    margin-bottom: 0;
	font-weight: 400;
}
.custom-tabs  .pp-tabs-panels .pp-tabs-panel-content {
	margin-left: 50px;
	border-radius: 20px;
}
.custom-tabs .pp-tabs-labels .pp-tabs-label {
	border-radius: 100px;
	margin-bottom: 15px;
	border: 1px solid #e4e2dd;
	background-color: #faf9f7;
}
.custom-tabs .pp-tabs-labels .pp-tabs-label.pp-tab-active  {}

.custom-accordions .pp-accordion-item.pp-accordion-item-active .pp-accordion-button,
.custom-accordions .pp-accordion-item .pp-accordion-button:hover {
	border: 1px solid #C8102E;	
}

/* Accordion inner pages  */
.fl-col-content .pp-tabs-panel a.accordion-cta {
	display: inline-block;
	margin-top: 20px;
	font-family: Outfit, sans-serif;
	font-weight: 600;
	font-size: 13px;
	border-style: none;
	border-width: 0;
	background-clip: border-box;
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	color: #fff;
	background-color: #A00D24;
	transition: transform 0.25s ease;
    transform: translateY(0);
	line-height: 18px;
    padding: 12px 24px;
	text-decoration: none;
}
.custom-tabs.white-bg-tabs .pp-tabs-labels .pp-tabs-label {
	background-color: #fff;
}
.custom-tabs.white-bg-tabs .pp-tabs-labels .pp-tabs-label:hover,
.custom-tabs.white-bg-tabs .pp-tabs-labels .pp-tabs-label.pp-tab-active  {
	background-color: #FDF0F2;
    color: #C8102E;
}
.custom-tabs.white-bg-tabs .pp-tabs-panels .pp-tabs-panel-content {
	background-color: #fff;
}
.fl-col-content .pp-tabs-panel a.accordion-cta:hover {
	transform: translateY(-1px);
	text-decoration: none;
}

/* Flex Cards */
.flex-card {
	transition: all .35s cubic-bezier(.25, .46, .45, .94);
	overflow: hidden;
	border: 1px solid #FAF9F7;
/* 	cursor: context-menu; */
}
.flex-card:hover {
	border: 1px solid #C8102E;
	transform: translateY(-6px);
  	box-shadow: 0 12px 40px rgba(0, 0, 0, .1);
}

/* Header menu */
.custom-menu .menu .pp-has-submenu .sub-menu {
	padding: 20px;
}
.custom-menu .menu .pp-has-submenu .sub-menu a {
	transition: all .2s ease-in;
}
.custom-menu .menu .pp-has-submenu .sub-menu a:hover {
	padding-left: 13px;
}
.custom-menu .menu .pp-has-submenu .sub-menu .cta-menu-btn {
	position: relative;
	padding-top: 20px;
}
.custom-menu .menu .pp-has-submenu .sub-menu .cta-menu-btn:before {
	content: "";
	display: block;
	position: relative;
	height: 1px;
	width: 85%;
	background-color: #f6f6f6;
	top: -10px;
	left: 5%;
}
.custom-menu .menu .pp-has-submenu .sub-menu .cta-menu-btn.cta-menu-btn-1 a {
	color: #C8102E;
}
.custom-menu .menu .pp-has-submenu .sub-menu .cta-menu-btn.cta-menu-btn-2 a {
	color: #22c55e;
}

.custom-menu .menu .pp-has-submenu .title-before {
	position: relative;
	padding-top: 15px;
}
.custom-menu .menu .pp-has-submenu .title-before {
	display: flex;
	flex-direction: column;
}

.custom-menu .menu .pp-has-submenu .title-before:before {
	content: "";
	display: block;
	height: 1px;
	width: 85%;
	background-color: #f6f6f6;
	margin: 0 auto;
	order: 1;
}

.custom-menu .menu .pp-has-submenu .title-before:after {
	color: #C8102E;
	display: block;
	padding-top: 10px;
	order: 2;
	padding-left: 5px;
}
.custom-menu .menu .pp-has-submenu .title-before.our-services:after {
	content: "Our Services";
}
.custom-menu .menu .pp-has-submenu .title-before.explore:after {
	content: "Explore";
}
.custom-menu .menu .pp-has-submenu .title-before > a {
	order: 3;
}

/* ACF FIELDS SEARCH */
.custom-search-fields .search-filter-base.search-filter-field .search-filter-input-group {
	display: flex;
	flex-direction: row;
}
.custom-search-fields .search-filter-base.search-filter-field .search-filter-input-group .search-filter-input-checkbox {
	padding-right: 15px;
}
.sf-search-module {
	width: 100%;
}
.custom-search-fields .sf-search-module .search-filter-input-text {
	border-radius: 100px;
    padding: 6px 15px;
}
.custom-search-fields .search-filter-input-checkbox__label {
	padding-left: calc(var(--search-filter-scale-base-unit-calc-h)*.3);
}

/* Contact Form & Aplication Form */
.contact-form.application-form .wpforms-field.wpforms-field-textarea textarea {
	border-radius: 16px;
}

/* MEDIA QUERIES */
@media only screen and (max-width: 992px) {
	.custom-tabs  .pp-tabs-panels .pp-tabs-panel-content {
		margin-left: 20px;
	}
}
@media only screen and (max-width: 768px) {
	.custom-tabs  .pp-tabs-panels .pp-tabs-panel-content {
		margin-left: 0;
		margin-top: 10px;
	}
	.custom-tabs .pp-tabs-panels .pp-tabs-panel:not(last-child)  {
		margin-bottom: 5px;
	}
	.custom-tabs .pp-tabs-panels .pp-tabs-panel .pp-tabs-label {
		border-radius: 15px;
		border: 1px solid #e4e2dd;
		background-color: #faf9f7;
	}
	.custom-tabs .pp-tabs-panels .pp-tabs-panel .pp-tabs-label.pp-tab-active {
		border: 1px solid #C8102E;
		background-color: #FDF0F2
	}
	.card-step-wrapper > .fl-col-content > .fl-col-group .category-card {
		margin-bottom: 15px;
	}
	.custom-tabs .pp-tab-title > * {
		font-family: "DM Sans", sans-serif;
		font-weight: 400;
		font-size: 13px;
		margin: 0;
	}
	.pp-advanced-menu.off-canvas .sub-menu {
		background-color: #FAF9F7;
	}
	.pp-advanced-menu.off-canvas .sub-menu .cta-menu-btn.cta-menu-btn-1 > a {
		color: #C8102E;
	}
	.pp-advanced-menu.off-canvas .sub-menu .cta-menu-btn.cta-menu-btn-2 > a {
		color: rgb(34, 197, 94);
	}
}

