/* 
Theme Name: Fence & Deck Marketers Child Theme
Description: Fence & Deck Marketers Child Theme is a child theme of Hello Elementor, created by the FDM Development Team.
Author: FDM Development Team
Author URI: https://deckfencemarketers.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Framework Specifications
 * Maximum screen width: 1280px
 * Minimum screen width: 320px
 * 
 * Desktop: 1280px
 * Tablet landscape: 1024px
 * Tablet portrait: 768px
 * Mobile portrait: 480px
*/ 

:root {
	/* Spacing */ /*Min Scale Ratio: Major Third (1.25)*/ /*Max Scale Ratio: Major Second (1.125)*/
	--space-5xs: clamp(0.26rem, calc(-0.07vw + 0.28rem), 0.22rem);
    --space-4xs: clamp(0.33rem, calc(-0.03vw + 0.33rem), 0.31rem);
    --space-3xs: clamp(0.41rem, calc(0.05vw + 0.4rem), 0.44rem);
    --space-2xs: clamp(0.51rem, calc(0.18vw + 0.48rem), 0.62rem);
    --space-xs: clamp(0.64rem, calc(0.39vw + 0.56rem), 0.88rem);
    --space-s: clamp(0.8rem, calc(0.73vw + 0.65rem), 1.24rem);
    --space-m: clamp(1rem, calc(1.25vw + 0.75rem), 1.75rem);
    --space-l: clamp(1.25rem, calc(2.04vw + 0.84rem), 2.47rem);
    --space-xl: clamp(1.56rem, calc(3.23vw + 0.92rem), 3.5rem);
    --space-2xl: clamp(1.95rem, calc(4.99vw + 0.95rem), 4.95rem);
    --space-3xl: clamp(2.44rem, calc(7.59vw + 0.92rem), 7rem);
    --space-4xl: clamp(3.05rem, calc(11.4vw + 0.77rem), 9.89rem);
    --space-5xl: clamp(3.81rem, calc(16.95vw + 0.42rem), 13.99rem);
	
	/* Text Size */ /*Min Scale Ratio: Major Third (1.25)*/ /*Max Scale Ratio: Augmented Fourth (1.414)*/
    --text-xs: clamp(0.79rem, calc(-0.26vw + 0.84rem), 0.63rem);
    --text-s: clamp(0.89rem, calc(-0.07vw + 0.9rem), 0.84rem);
    --text-m: clamp(1rem, calc(0.21vw + 0.96rem), 1.13rem);
    --text-l: clamp(1.13rem, calc(0.62vw + 1rem), 1.5rem);
    --text-xl: clamp(1.27rem, calc(1.22vw + 1.02rem), 2rem);
    --text-2xl: clamp(1.42rem, calc(2.07vw + 1.01rem), 2.66rem);
    --text-3xl: clamp(1.6rem, calc(3.25vw + 0.95rem), 3.55rem);
    --text-4xl: clamp(1.8rem, calc(4.89vw + 0.82rem), 4.74rem);
	
	/* Border Radius */
	--radius-xs: clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem);
    --radius-s: clamp(0.38rem, calc(-0.21vw + 0.54rem), 0.5rem);
    --radius-m: clamp(0.63rem, calc(-0.21vw + 0.79rem), 0.75rem);
    --radius-l: clamp(1rem, calc(-0.42vw + 1.33rem), 1.25rem);
    --radius-xl: clamp(1.63rem, calc(-0.63vw + 2.13rem), 2rem);
    --radius-full: 999rem;
    --radius-50: 50%;
    --radius-100: 100%;
	
	/* Grid Layouts */
	--grid-col-1: repeat(1, minmax(0, 1fr));
    --grid-col-2: repeat(2, minmax(0, 1fr));
    --grid-col-3: repeat(3, minmax(0, 1fr));
    --grid-col-4: repeat(4, minmax(0, 1fr));
    --grid-col-5: repeat(5, minmax(0, 1fr));
    --grid-col-6: repeat(6, minmax(0, 1fr));
    --grid-col-1-2: minmax(0, 1fr) minmax(0, 2fr);
    --grid-col-2-1: minmax(0, 2fr) minmax(0, 1fr);
    --grid-col-1-3: minmax(0, 1fr) minmax(0, 3fr);
    --grid-col-3-1: minmax(0, 3fr) minmax(0, 1fr);
    --grid-col-2-3: minmax(0, 2fr) minmax(0, 3fr);
    --grid-col-3-2: minmax(0, 3fr) minmax(0, 2fr);
    --grid-col-1-4: minmax(0, 1fr) minmax(0, 4fr);
    --grid-col-4-1: minmax(0, 4fr) minmax(0, 1fr);
    --grid-col-3-4: minmax(0, 3fr) minmax(0, 4fr);
    --grid-col-4-3: minmax(0, 4fr) minmax(0, 3fr);
    --grid-col-2-4: minmax(0, 2fr) minmax(0, 4fr);
    --grid-col-4-2: minmax(0, 4fr) minmax(0, 2fr);
}

:is(main#content, body){
	/* Default Elementor Overrides*/
	section{
		padding: var(--space-2xl) var(--space-l);
	}
	
	H1, H2, H3, H4, H5, H6, p, a{
		transition: .25s ease;
	}

	.elementor-icon-wrapper {
		line-height: 0;
	}

	.elementor-widget-button{
		min-width: 14rem;

		a{
			width: 100%;
		}
	}
	
	/* Utility Classes */
	.container-relative{
		position: relative;
		overflow: clip;
		isolation: isolate;
	}

	.no-pointer{
		pointer-events: none;
	}

	.img-bg{
    	position: absolute;
    	width: 100%;
    	height: 100%;
    	inset: 0;
    	z-index: -1;

    	img{
        	position: absolute;
        	object-fit: cover;
        	object-position: center;
        	width: 100%;
        	height: 100%;
        	inset: 0;
    	}
	}

	.video-bg{
		position: absolute;
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
		inset: 0;
		z-index: -1;
	}

	.video-bg.elementor-widget-video .elementor-wrapper{
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		object-fit: cover !important;
	}
			
	.video-bg .elementor-widget-video {
		position: relative !important;
		overflow: hidden;
	}

	.hidden{
		display: none;
	}

	.text-clamp-2 {
    	display: -webkit-box;
		line-clamp: 2;
    	-webkit-line-clamp: 2;
    	-webkit-box-orient: vertical;
    	overflow: clip;
	}
	.text-clamp-3 {
    	display: -webkit-box;
		line-clamp: 3;
    	-webkit-line-clamp: 3;
    	-webkit-box-orient: vertical;
    	overflow: clip;
	}
	.text-clamp-4 {
    	display: -webkit-box;
		line-clamp: 4;
    	-webkit-line-clamp: 4;
    	-webkit-box-orient: vertical;
    	overflow: clip;
	}

	.filter-invert img{
		filter: saturate(0) brightness(0) invert(1);
	}

	.text-highlight{
    	color: var(--primary-l-1);
	}

	.text-highlight-dark{
    	color: var(--primary-d-1);
	}

	.text-highlight-light{
    	color: var(--primary-l-3);
	}
}