


















.portfolio_nav { display:none; }
.top_bar.fixed
{
	position: fixed;
	animation-name: slideDown;
	-webkit-animation-name: slideDown;	
	animation-duration: 0.5s;	
	-webkit-animation-duration: 0.5s;
	z-index: 999;
	visibility: visible !important;
	top: 0px;
}

.top_bar.fixed #menu_wrapper div .nav
{
	margin-top: 16px;
}

.top_bar.fixed #searchform
{
	margin-top: 8px;
}

.top_bar.fixed .header_cart_wrapper
{
	margin-top: 21px;
}

.top_bar.fixed #menu_wrapper div .nav > li > a
{
	padding-bottom: 24px;
}

.top_bar.fixed .logo_wrapper img
{
	max-height: 40px;
	width: auto;
}
#wrapper
{
	overflow-x: hidden;
}
.mobile_menu_wrapper
{
    overflow: auto;
}
body.js_nav .mobile_menu_wrapper 
{
    display: block;
}
.gallery_type, .portfolio_type
{
	opacity: 1;
}
#searchform input[type=text]
{
	width: 75%;
}
.woocommerce .logo_wrapper img
{
	max-width: 50%;
}

#mobile_nav_icon
{
    display: none !important;
}


@media only screen and (max-width: 768px) {
	html[data-menu=leftmenu] .mobile_menu_wrapper
	{
		right: 0;
		left: initial;
		
		-webkit-transform: translate(360px, 0px);
		-ms-transform: translate(360px, 0px);
		transform: translate(360px, 0px);
		-o-transform: translate(360px, 0px);
	}
}


.two_cols.gallery .element:hover img, .three_cols.gallery .element:hover img, .four_cols.gallery .element:hover img, .five_cols.gallery .element:hover img, .one_half.gallery2.classic a:hover img, .one_third.gallery3.classic a:hover img, .one_fourth.gallery4.classic a:hover img
{
	-ms-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
}



#page_content_wrapper .sidebar .content .sidebar_widget li h2.widgettitle, h2.widgettitle
{
	padding: 0;
	border: 0;
}

#page_caption.hasbg .page_title_wrapper
{
	background: rgba(0,0,0,0);
}

html[data-style=fullscreen] .top_bar.hasbg, .top_bar.hasbg
{
	border: 0;
}

html[data-style=fullscreen] .top_bar.hasbg, .top_bar.hasbg
{
	background: rgba(0,0,0,0);
}

#page_caption.hasbg .page_tagline
{
	clear: both;
	margin-top: 10px;
}


.bg_gradient::after
{
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: -1px;
    left: 0;
    background: transparent;
    background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(60%,transparent),color-stop(66%,rgba(0,0,0,0.1)),color-stop(93%,rgba(0,0,0,0.95)),to(rgba(0,0,0,1)));
    background-image: -webkit-linear-gradient(transparent 0%,transparent 60%,rgba(0,0,0,0.1) 66%,rgba(0,0,0,0.95) 93%,rgba(0,0,0,1) 100%);
    background-image: linear-gradient(transparent 0%,transparent 60%,rgba(0,0,0,0.1) 66%,rgba(0,0,0,0.95) 93%,rgba(0,0,0,1) 100%)
}


@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@-ms-keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:0.99; } }
 
.fade-in {
    animation-name: fadeIn;
	-webkit-animation-name: fadeIn;
	-ms-animation-name: fadeIn;	

	animation-duration: 0.7s;	
	-webkit-animation-duration: 0.7s;
	-ms-animation-duration: 0.7s;	

	-webkit-animation-fill-mode:forwards; 
    -moz-animation-fill-mode:forwards;
    -ms-animation-fill-mode:forwards;
    animation-fill-mode:forwards;
    
    visibility: visible !important;
}


/* Targets the paragraph inside the div with our class */
.audit-diamond p {
    position: relative;
    padding-left: 18px; 
    line-height: 1.3 !important;
}

/* Creates the diamond icon */
.audit-diamond p::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em; /* Aligns with the first line of the paragraph */
    width: 8px;
    height: 8px;
    background-color: #000;
    transform: rotate(45deg);
}



.audit-diamond h2 {
    position: relative;
    padding-left: 18px; 
    line-height: 1.1 !important;
}

/* Creates the diamond icon */
.audit-diamond h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em; /* Aligns with the first line of the paragraph */
    width: 8px;
    height: 8px;
    background-color: #000;
    transform: rotate(45deg);
}



.score-box {
    /* Fixed Dimensions */
    width: 30px;
    height: 28px;
    
    /* Layout */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Styling */
    background-color: #fff;
    color: #000;
    border-radius: 6px;
    border: 1px solid #000;
    
font-family: 'Montserrat', sans-serif; /* Or your chosen body font */
    font-weight: bold;
    font-size: 14px;
    
    /* The "Push Out" Logic */
    margin-left: auto; 
    transform: translate(100%, -80%); /* Halfway out X, perfect center Y */
    z-index: 10; /* Ensures it sits on top of any borders */
}
.gradient-bar {
    height: 12px;
    width: 100%;
    position: relative; /* Crucial: This is the 'anchor' */
    border-radius: 10px;
    /* Your gradient background is already here via Elementor */
}

/* This is your inner width container (10%, 20%, etc) */
.score-tracker {
    height: 100%;
    position: relative;
}

.audit-heatmap-gradient {
    /* A 3-stop vibrant transition */
    background: linear-gradient(90deg, 
#E59A9A 0%,   /* Muted Dusty Rose (Warning) */
        #F2E5BC 50%,  /* Sand/Parchment (Neutral) */
        #A8C69F 100%  /* Sage/Moss Green (Success) */
    ) !important;
    
    /* Optional: subtle inner shadow to make it look "inset" like a real gauge */
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
    
    border: 1px solid rgba(0,0,0,0.05); /* Very light border for definition */
}

.elementor-icon-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important; /* Optional: centers vertically too */
    text-align: center !important;
}

#my-a4-page {
    /* Dimensions */
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    
    /* The Padding Fix */
    padding: 5mm !important; 
    box-sizing: border-box !important; 
    
    /* Layout & Visuals */
    margin: 40px auto !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important; /* Keeps your Elementor widgets stacking correctly */
    
}


@media print {
    /* 1. Remove Browser Headers/Footers (Date, URL, etc.) */
    @page {
        margin: 0 !important;
        size: auto; /* Or 'A4' if the printer is stubborn */
    }

    /* 2. Force the body to have no margin */
    body {
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important; /* Ensures colors/gradients print */
        print-color-adjust: exact !important;
    }

    /* 3. Ensure your A4 container starts at the absolute top */
    #my-a4-page {
        margin: 0 !important;
        box-shadow: none !important; /* Shadows look messy on real paper */
        position: absolute;
        top: 0;
        left: 0;
    }
    
    /* 4. Hide everything else (headers, footers of your website) */
    header, footer, .elementor-location-header, .elementor-location-footer {
        display: none !important;
    }
}






