/*!
	Theme Name: building47 Canvas
	Theme URI: https://building47.com
	Description: A blank canvas...has unlimited possibilities.
	Author: building47
	Version: 3.0
	Author URI: https://building47.com
	Template: hello-elementor
    NOTE: Global design system is in b47-styles.css
	      This file is for project-specific customizations only
*/
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ HOMEPAGE ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
/* ▩▩▩ Hero Section ▩▩▩ */

/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-tablet-portrait ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 768px) {
    
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-phone-only ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 599px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ GLOBAL STYLE ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
html {
	scroll-behavior: smooth;
}
body {
    background-color: #FAFAFA;
}
:focus {
	outline: none;
}
.b47-section {
    padding-top: 128px;
    padding-bottom: 128px;
}
.b47-padding {
	padding-left: 24px;
	padding-right: 24px;
}
.fit-content {
    width: fit-content !important;
}
.hidden-element {
	display: none !important;
}
.elementor-widget-icon {
    line-height: 0px;
}
.page-header {
    display: none;
}
.hyphens-justify p {
    hyphens: auto !important;
    text-align: justify !important;
}
p:first-child {
    margin-block-start: 0px !important;
}
p:last-child {
    margin-block-end: 0px !important;
}
.elementor-widget-text-editor p:last-child, .textwidget p:last-child { 
	margin-bottom:0px;
}
.href-title:hover .elementor-heading-title {
    color: var( --e-global-color-primary ) !important;
}
.policy-content h2 {
    color: var( --e-global-color-primary );
    font-family: var( --e-global-typography-6709bb9-font-family ), Sans-serif;
    font-size: var( --e-global-typography-6709bb9-font-size );
    font-weight: var( --e-global-typography-6709bb9-font-weight );
    line-height: var( --e-global-typography-6709bb9-line-height );
    letter-spacing: var( --e-global-typography-6709bb9-letter-spacing );
}
.elementor-popup-modal .dialog-widget-content {
    background: transparent;
}
.situational-space {
    display: none !important;   
}
strong {
	font-weight: 500 !important;
}
b {
	font-weight: 500 !important;
}
.image-container {
    min-width: 100% !important;
}
.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
}

/* ▩▩▩ Button Styles ▩▩▩ */
.elementor-button.elementor-button-link {
    font-family: var( --e-global-typography-d293a02-font-family ), sans-serif;
	font-size: var( --e-global-typography-d293a02-font-size );
	font-weight: var( --e-global-typography-d293a02-font-weight );
	text-transform: var( --e-global-typography-d293a02-text-transform );
	line-height: var( --e-global-typography-d293a02-line-height );
	letter-spacing: var( --e-global-typography-d293a02-letter-spacing );
    background-color: var( --e-global-color-accent );
    color: #FFFFFF;
    border: 1px solid  var( --e-global-color-accent );
    border-radius: 3px;
    padding: 5px 10px;
    transition: none;
}
.elementor-button.elementor-button-link:hover {
    background-color: var( --e-global-color-58c498c );
    border: 1px solid #D55A3A;
    transition: none;
}
.minimalist-button .elementor-button.elementor-button-link {
    font-family: var( --e-global-typography-d293a02-font-family ), sans-serif;
	font-size: var( --e-global-typography-d293a02-font-size );
	font-weight: var( --e-global-typography-d293a02-font-weight );
	text-transform: var( --e-global-typography-d293a02-text-transform );
	line-height: var( --e-global-typography-d293a02-line-height );
	letter-spacing: var( --e-global-typography-d293a02-letter-spacing );
    background-color: transparent;
    color: #FFFFFF;
    border: 1px solid  var( --e-global-color-text );
    border-radius: 3px;
    padding: 5px 10px;
    transition: none;

}
.minimalist-button .elementor-button.elementor-button-link:hover {
    background-color: rgba(255,255,255,0.2);
	color: #FFFFFF;
}
.disabled-btn .elementor-button.elementor-button-link {
	cursor: not-allowed !important;
	pointer-events: none !important;
	opacity: 0.4;
    /* background-color: gray !important; */
}

/* ▩▩▩ Custom Cards ▩▩▩ */
.custom-card {
    background: var( --e-global-color-primary );
    padding: 32px 24px;
    border: 1px solid var( --e-global-color-primary );
    border-radius: 8px;
    transition: none;
}
.custom-card .elementor-icon svg path {
    fill: var( --e-global-color-accent);
}
.custom-card:hover {
    background: var( --e-global-color-text);
    box-shadow: rgba(125, 125, 125, .15) 0px 40px 40px, rgba(125, 125, 125, .25) 0px 24px 24px -12px, rgba(125, 125, 125, .25) 0px 12px 12px -6px, rgba(0, 0, 0, .35) 0px 6px 6px -3px, rgba(0, 0, 0, .35) 0px 3px 3px -1.5px, rgba(0, 0, 0, .45) 0px 1px 1px -0.5px;
    border-color: var( --e-global-color-primary );
    transition: none;
}
.custom-card:hover .elementor-heading-title, .custom-card:hover p {
    color: var( --e-global-color-primary ) !important;
}
.custom-card:hover p {
    color: var( --e-global-color-primary ) !important;
}
.elementor-278 .elementor-element.elementor-element-085071d .elementor-divider-separator {
width: 17%;
}
.elementor-278 .elementor-element.elementor-element-085071d .elementor-divider-separator:hover {
width: 100%;
}

/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ HEADER CSS ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
.first-section {
    margin-top: -104;
}
#b47-header {
	width: 100% !important; 
	background: transparent;
	transition: all .4s linear!important;
	z-index: 999;
	padding: 24px 0px;
}
#b47-site-logo {
    line-height: 0px;
}
#b47-header #b47-nav .menu-item a, #b47-header #b47-nav .menu-item .elementor-item-active {
	color: #FFFFFF;
    transition: none;
}
#b47-header #b47-nav .menu-item:hover a, #b47-header #b47-nav .menu-item .elementor-item-active:hover {
    color: var( --e-global-color-accent );
    transition: none;
}
#header-cta .elementor-button {
    background-color: var( --e-global-color-accent );
    color: #FFFFFF;
    border: 1px solid var( --e-global-color-accent );
    border-radius: 3px;
    padding: 5px 10px;
}
#header-cta .elementor-button:hover {
    background-color: var( --e-global-color-58c498c );
    border: 1px solid #D55A3A;
    transition: none;
}
/* ▩▩▩ Sticky Active ▩▩▩ */
#b47-header.elementor-sticky--effects {
	background: var( --e-global-color-primary ) !important;
	box-shadow: 0px 6px 30px -4px rgba(0,0,0,.05);
	transition: all .4s linear!important;
	padding: 12px 0px;
}
#b47-header.elementor-sticky--effects #b47-site-logo .cls-1 {
    fill: var( --e-global-color-95b5580 );
}
#b47-header.elementor-sticky--effects #b47-site-logo {
   --container-widget-width: 130px;
}
#b47-header.elementor-sticky--effects #b47-nav .menu-item a {
    color: #FFFFFF;
}
#b47-header.elementor-sticky--effects #b47-nav .menu-item:hover a {
    color: var( --e-global-color-accent );
}
#b47-header.elementor-sticky--effects #header-cta .elementor-button {
    background-color: var( --e-global-color-accent );
    color: #FFFFFF;
    border: 1px solid var( --e-global-color-accent );
    border-radius: 3px;
    padding: 5px 10px;
}
#b47-header.elementor-sticky--effects #header-cta .elementor-button:hover {
    background-color: var( --e-global-color-58c498c );
    border: 1px solid var( --e-global-color-58c498c );
}
/* ▩▩▩ Mobile Menu ▩▩▩ */
.mobile-dropdown {
    z-index: 99999;
    background: var( --e-global-color-primary );
}
#mobile-nav svg path {
    fill: var( --e-global-color-95b5580 );
}
#mobile-nav:hover svg path {
    fill: var( --e-global-color-accent );
}
#b47-popup-nav .b47-nav-item .elementor-heading-title {
    font-family: var( --e-global-typography-bf139ad-font-family ), sans-serif;
    font-size: var( --e-global-typography-bf139ad-font-size );
    font-weight: var( --e-global-typography-bf139ad-font-weight );
    text-transform: var( --e-global-typography-bf139ad-text-transform );
    line-height: var( --e-global-typography-bf139ad-line-height );
    letter-spacing: var( --e-global-typography-bf139ad-letter-spacing );
    word-spacing: var( --e-global-typography-bf139ad-word-spacing );
    color: var( --e-global-color-95b5580 );

}
#b47-popup-nav .b47-nav-item:hover .elementor-heading-title {
    color: var( --e-global-color-accent );
}
.nav-popup-cta .elementor-button .elementor-button-content-wrapper::before,
.nav-popup-cta .elementor-button .elementor-button-content-wrapper::after {
    display: none;
}
.nav-popup-close svg path {
    fill: var( --e-global-color-95b5580 );
}
.nav-popup-close:hover svg path {
    fill: var( --e-global-color-accent );
}
#b47-popup-nav .sub-items {
    padding-left: 32px;
    margin-top: -8px;
}
#b47-popup-nav .sub-menu-items {
    padding-left: 16px;
}
#b47-popup-nav .mobile-nav-icon svg {
    width: 24px;
}
#b47-popup-nav .mobile-nav-icon svg path {
    fill: var( --e-global-color-95b5580 );
}
#b47-popup-nav .nav-container:hover .mobile-nav-icon svg path {
    fill: var( --e-global-color-accent );
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ FOOTER CSS ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
#b47-footer {
	background: var( --e-global-color-primary );
}

/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ ROTATE OVERLAY ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media screen and (orientation: landscape) and (max-width: 896px) and (max-height: 500px) {
	body {
		background: var(--b47-primary-950);
	}
	body::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--b47-primary-950);
		z-index: 999999;
		display: block;
	}
	body::after {
		content: "";
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 200px;
		height: 200px;
		background-image: url('/wp-content/uploads/rotate-lock.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		z-index: 9999999;
	}
}   
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ ANIMATIONS ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
.down-arrow:hover {
    animation: .7s linear 0s infinite alternate vertical-lap;
}
@keyframes vertical-lap {
	from {
		transform: translateY(0px);
	  }
	  to {
		transform: translateY(5px);
	  }
}
.right-arrow svg path {
    stroke: #FAFAFA !important;
}
.right-arrow:hover {
    animation: .7s linear 0s infinite alternate right-lap;
}
@keyframes right-lap {
    from {
        transform: translateX(0px);
    }
    to {
        transform: translateX(10px);
    }
}
.left-arrow:hover {
    animation: .7s linear 0s infinite alternate left-lap;
}
@keyframes left-lap {
    from {
        transform: translateX(0px);
    }
    to {
        transform: translateX(-10px);
    }
}
.grow-element {
	transition: all 0.1s ease;
}
.grow-element:hover {
	transform: scale(1.02);
	transition: all 0.1s ease;
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ EFFECTS ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ COOKYE YES ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
/* ▩▩▩ Consent Popup ▩▩▩ */
.cky-consent-bar { 
	opacity: 0;
	box-shadow: none !important;
	border-radius: 12px !important;
	border: 0.5px solid #D7DBDB !important;
	animation: fadeIn .1s .1s !important;
	-webkit-animation: fadeIn .1s .1s !important;
	-moz-animation: fadeIn .1s .1s !important;
	-o-animation: fadeIn .1s .1s !important;
	-ms-animation: fadeIn .1s .1s !important;
	animation-fill-mode: forwards !important;
	-webkit-animation-fill-mode: forwards !important; 
}
@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-moz-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-webkit-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-o-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-ms-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
/* ▩▩▩ Title ▩▩▩ */
.cky-consent-bar .cky-title {
	display: none !important;
}
/* ▩▩▩ Description ▩▩▩ */
.cky-consent-bar .cky-notice-des {
	font-family: var( --e-global-typography-0f04bdb-font-family ), Sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    letter-spacing: -0.2px !important;
}
.cky-consent-bar .cky-notice-des a {
	color: var( --e-global-color-secondary ) !important;
}
.cky-consent-bar .cky-notice-des a:hover {
	color: var( --e-global-color-primary ) !important;
}
/* ▩▩▩ Accept Button ▩▩▩ */
.cky-btn.cky-btn-accept {
	opacity: 1 !important;
	font-family: var( --e-global-typography-0f04bdb-font-family ), Sans-serif !important;
    font-size: var( --e-global-typography-0f04bdb-font-size ) !important;
    font-weight: var( --e-global-typography-0f04bdb-font-weight ) !important;
    line-height: var( --e-global-typography-0f04bdb-line-height ) !important;
    letter-spacing: var( --e-global-typography-0f04bdb-letter-spacing ) !important;
	background-color: var( --e-global-color-primary ) !important;
    color: #FFFFFF !important;
	border: 0.5px solid var( --e-global-color-primary ) !important;
	border-radius: 8px !important;
    padding: 8px 16px !important;
	transition: none !important;
}
.cky-btn.cky-btn-accept:hover {
	background-color: #FFFFFF !important;
	color: var( --e-global-color-964ec23 ) !important;
	border: 0.5px solid #D7DBDB !important;
	transition: none !important;
}
/* ▩▩▩ Secondary Buttons ▩▩▩ */
.cky-btn.cky-btn-reject, .cky-btn.cky-btn-customize, .cky-btn.cky-btn-preferences {
	opacity: 0.7 !important;
	font-family: var( --e-global-typography-0f04bdb-font-family ), Sans-serif !important;
    font-size: var( --e-global-typography-0f04bdb-font-size ) !important;
    font-weight: var( --e-global-typography-0f04bdb-font-weight ) !important;
    line-height: var( --e-global-typography-0f04bdb-line-height ) !important;
    letter-spacing: var( --e-global-typography-0f04bdb-letter-spacing ) !important;
	background-color: #FFFFFF !important;
    color: var( --e-global-color-964ec23 ) !important;
	border: 0.5px solid #D7DBDB !important;
	border-radius: 8px !important;
    padding: 8px 16px !important;
}
.cky-btn.cky-btn-reject:hover, .cky-btn.cky-btn-customize:hover, .cky-btn.cky-btn-preferences:hover {
    opacity: 1 !important;
}
.cky-consent-bar [data-cky-tag="powered-by"] {
    display: none !important;
}
/* ▩▩▩ Close Button ▩▩▩ */
.cky-consent-bar .cky-banner-btn-close img {
    margin: 15px 10px !important;
}
.cky-preference-header .cky-btn-close:hover {
    background-color: transparent !important;
}
/* ▩▩▩ Preference Center ▩▩▩ */
.cky-modal, .cky-modal .cky-preference-center {
	border-radius: 12px !important;
}
/* ▩▩▩ Switch ▩▩▩ */
#ckySwitchanalytics {
	border: none !important;
	border-radius: 50px !important;
}
.cky-switch input[type="checkbox"] {
	background: var( --e-global-color-primary ) !important;
}
.cky-switch input[type="checkbox"]:checked {
	background: var( --e-global-color-secondary ) !important;
}
/* ▩▩▩ Revisit Floater ▩▩▩ */
.cky-btn-revisit-wrapper {
	background: var( --e-global-color-primary ) !important;
	width: 28px !important;
	height: 28px !important;
}
.cky-btn-revisit-wrapper:hover {
    background-color: #000000 !important;
}
.cky-btn-revisit-wrapper .cky-btn-revisit img {
	width: 15px !important;
	height: 15px !important;
}
.cky-footer-wrapper div:last-child {
    display: none !important;
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-small-laptop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 1200px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-medium-laptop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 1300px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-big-laptop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 1400px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-desktop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 1580px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-big-desktop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 1800px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-huge-desktop ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (min-width: 2200px) { 
   
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-tablet-landscape ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 1199px) { 

}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-tablet-portrait ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 1024px) {
    .b47-padding {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .b47-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}        	  
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-tablet-portrait ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 820px) {
    .b47-padding {
        padding-left: 6.2% !important;
        padding-right: 6.2% !important;
}
}
/* ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ for-phone-only ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */
@media only screen and (max-width: 599px) { 
    .hyphens-justify-mobile p {
        hyphens: auto !important;
        text-align: justify !important;
    } 
    #b47-header {
	    padding: 12px 0px;
    }
    .b47-padding {
        padding-left: 5% !important;
        padding-right: 5% !important;
    }
     .situational-space {
        display: inline !important;   
    }
}