.elementor-1317 .elementor-element.elementor-element-c2d78d1 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-b991159 ) 25%, var( --e-global-color-secondary ) 100%);opacity:0.85;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1317 .elementor-element.elementor-element-c2d78d1{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 0px 150px 0px;z-index:5;}.elementor-1317 .elementor-element.elementor-element-c2d78d1:not(.elementor-motion-effects-element-type-background), .elementor-1317 .elementor-element.elementor-element-c2d78d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background:url("https://northproservices.ca/wp-content/uploads/2026/02/Pressure-Washing-in-Simcoe-County-ON-e1771001545803.webp") 50% 50%;background-size:cover;}.elementor-1317 .elementor-element.elementor-element-c2d78d1 > .elementor-shape-bottom svg{width:calc(110% + 1.3px);height:176px;}.elementor-1317 .elementor-element.elementor-element-cc46cd3.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1317 .elementor-element.elementor-element-f785d42 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-f785d42{text-align:center;}.elementor-1317 .elementor-element.elementor-element-f785d42 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:80px;font-weight:700;text-transform:uppercase;font-style:italic;line-height:1.1em;text-shadow:3px 3px 0px #232464;color:var( --e-global-color-e24646a );}.elementor-1317 .elementor-element.elementor-element-de4de87{margin-top:20px;margin-bottom:0px;z-index:90;}.elementor-1317 .elementor-element.elementor-element-0e2f712.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-1317 .elementor-element.elementor-element-0e2f712{z-index:90;}.elementor-widget-global .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Oswald", Sans-serif;font-size:18px;font-weight:700;fill:var( --e-global-color-e24646a );color:var( --e-global-color-e24646a );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-e24646a );border-radius:50px 50px 50px 50px;padding:18px 18px 18px 15px;}.elementor-1317 .elementor-element.elementor-global-1465{width:auto;max-width:auto;z-index:90;}.elementor-1317 .elementor-element.elementor-element-a660c72{z-index:88;}.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button{background-color:var( --e-global-color-e24646a );font-family:"Oswald", Sans-serif;font-size:18px;font-weight:700;text-shadow:0px 0px 0px #3C3A3D;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-e24646a );border-radius:50px 50px 50px 50px;padding:18px 18px 18px 18px;}.elementor-1317 .elementor-element.elementor-global-1474 > .elementor-widget-container{margin:0px 0px 0px 15px;}.elementor-1317 .elementor-element.elementor-global-1474{z-index:90;}.elementor-1317 .elementor-element.elementor-element-d5a8ed0{padding:100px 0px 100px 0px;}.elementor-1317 .elementor-element.elementor-element-3b8789f > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-1317 .elementor-element.elementor-element-14838f9:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-1317 .elementor-element.elementor-element-14838f9 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1317 .elementor-element.elementor-element-14838f9 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.15);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-1317 .elementor-element.elementor-element-14838f9 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1317 .elementor-element.elementor-element-1b363e6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-1b363e6{text-align:center;}.elementor-1317 .elementor-element.elementor-element-1b363e6 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:23px;font-weight:600;color:var( --e-global-color-b991159 );}.elementor-1317 .elementor-element.elementor-element-45f1869{z-index:10;}.elementor-bc-flex-widget .elementor-1317 .elementor-element.elementor-element-a5c3dbf.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-1317 .elementor-element.elementor-element-a5c3dbf.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-1317 .elementor-element.elementor-element-a5c3dbf > .elementor-element-populated{padding:15px 25px 15px 50px;}.elementor-1317 .elementor-element.elementor-element-ce387e5 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(16px/2);}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(16px/2);}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(16px/2);}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-16px/2);}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-16px/2);}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-icon i{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );transition:fill 0.3s;}.elementor-1317 .elementor-element.elementor-element-183b961{--e-icon-list-icon-size:20px;--icon-vertical-align:flex-start;--icon-vertical-offset:2px;}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-1317 .elementor-element.elementor-element-183b961 .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-primary );}.elementor-1317 .elementor-element.elementor-element-9a21d48{--grid-template-columns:repeat(0, auto);--icon-size:20px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-widget-container{text-align:left;}.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon{background-color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-accent );}.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon i{color:var( --e-global-color-e24646a );}.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon svg{fill:var( --e-global-color-e24646a );}.elementor-1317 .elementor-element.elementor-element-4f3d5dc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-6be610a{margin-top:0rem;margin-bottom:-5rem;padding:0px 0px 0px 0px;z-index:15;}.elementor-1317 .elementor-element.elementor-element-6302259 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;}.elementor-1317 .elementor-element.elementor-element-c3520df > .elementor-widget-container{--e-transform-rotateZ:-2deg;margin:-3% 0% -14% 0%;}.elementor-1317 .elementor-element.elementor-element-c3520df{z-index:55;text-align:center;}.elementor-1317 .elementor-element.elementor-element-c3520df img{width:55%;}.elementor-1317 .elementor-element.elementor-element-c818ed2:not(.elementor-motion-effects-element-type-background), .elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://northproservices.ca/wp-content/uploads/2026/02/Pressure-Washing-in-Simcoe-County-ON-1.webp");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(180deg, #2B2B2BC2 10%, var( --e-global-color-b991159 ) 100%);opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1317 .elementor-element.elementor-element-c818ed2, .elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-c818ed2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:280px 0px 100px 0px;z-index:5;}.elementor-1317 .elementor-element.elementor-element-e26ac1f{z-index:10;}.elementor-1317 .elementor-element.elementor-element-75b53eb > .elementor-container{max-width:1000px;}.elementor-1317 .elementor-element.elementor-element-a4f079b.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1317 .elementor-element.elementor-element-e283d97 > .elementor-widget-container{margin:0px 0px -15px 0px;}.elementor-1317 .elementor-element.elementor-element-e283d97 .elementor-widget-container{--e-transform-origin-x:center;--e-transform-origin-y:center;}.elementor-1317 .elementor-element.elementor-element-e283d97 img{width:5%;}.elementor-1317 .elementor-element.elementor-element-efb6966{text-align:center;}.elementor-1317 .elementor-element.elementor-element-efb6966 .elementor-heading-title{color:var( --e-global-color-e24646a );}.elementor-1317 .elementor-element.elementor-element-0482de0{margin-top:15px;margin-bottom:0px;}.elementor-1317 .elementor-element.elementor-element-845d1f1.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}:root{--page-title-display:none;}@media(max-width:1262px){.elementor-1317 .elementor-element.elementor-element-c2d78d1 > .elementor-shape-bottom svg{width:calc(148% + 1.3px);height:173px;}.elementor-1317 .elementor-element.elementor-element-c2d78d1{padding:75px 0px 150px 0px;}.elementor-1317 .elementor-element.elementor-element-bdcd986 > .elementor-container{max-width:534px;}.elementor-1317 .elementor-element.elementor-element-f785d42 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-f785d42 .elementor-heading-title{font-size:50px;line-height:55px;}.elementor-1317 .elementor-element.elementor-element-de4de87{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;z-index:90;}.elementor-1317 .elementor-element.elementor-element-0e2f712.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-1317 .elementor-element.elementor-element-d5a8ed0{padding:50px 0px 50px 0px;}.elementor-1317 .elementor-element.elementor-element-1b363e6 .elementor-heading-title{font-size:22px;}.elementor-1317 .elementor-element.elementor-element-6be610a{margin-top:0rem;margin-bottom:-5rem;}.elementor-1317 .elementor-element.elementor-element-c3520df > .elementor-widget-container{margin:0% 0% -21% 0%;}.elementor-1317 .elementor-element.elementor-element-c3520df img{width:69%;}.elementor-1317 .elementor-element.elementor-element-c818ed2, .elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-c818ed2{padding:80px 0px 150px 0px;}.elementor-1317 .elementor-element.elementor-element-0482de0{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-845d1f1.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}}@media(max-width:766px){.elementor-1317 .elementor-element.elementor-element-c2d78d1 > .elementor-shape-bottom svg{height:91px;}.elementor-1317 .elementor-element.elementor-element-c2d78d1{padding:75px 0px 80px 0px;}.elementor-1317 .elementor-element.elementor-element-cc46cd3.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1317 .elementor-element.elementor-element-cc46cd3 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:10px;}.elementor-1317 .elementor-element.elementor-element-f785d42 > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-1317 .elementor-element.elementor-element-f785d42{text-align:center;}.elementor-1317 .elementor-element.elementor-element-f785d42 .elementor-heading-title{font-size:50px;line-height:45px;}.elementor-1317 .elementor-element.elementor-element-de4de87{margin-top:0px;margin-bottom:0px;z-index:90;}.elementor-1317 .elementor-element.elementor-element-0e2f712.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1317 .elementor-element.elementor-global-1474 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button{padding:18px 25px 18px 25px;}.elementor-1317 .elementor-element.elementor-element-d5a8ed0{padding:30px 0px 30px 0px;}.elementor-1317 .elementor-element.elementor-element-14838f9 > .elementor-element-populated{margin:15px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-1317 .elementor-element.elementor-element-1b363e6 > .elementor-widget-container{padding:10px 0px 10px 0px;}.elementor-1317 .elementor-element.elementor-element-1b363e6 .elementor-heading-title{font-size:20px;}.elementor-1317 .elementor-element.elementor-element-a5c3dbf > .elementor-element-populated{margin:20px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:15px 15px 15px 15px;}.elementor-1317 .elementor-element.elementor-element-6be610a{margin-top:0rem;margin-bottom:-5rem;}.elementor-1317 .elementor-element.elementor-element-c3520df > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-1317 .elementor-element.elementor-element-c3520df img{width:90%;}.elementor-1317 .elementor-element.elementor-element-c818ed2, .elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-1317 .elementor-element.elementor-element-c818ed2{padding:80px 0px 60px 0px;}.elementor-1317 .elementor-element.elementor-element-e283d97 img{width:14%;}.elementor-1317 .elementor-element.elementor-element-efb6966{text-align:center;}.elementor-1317 .elementor-element.elementor-element-0482de0{margin-top:15px;margin-bottom:0px;}.elementor-1317 .elementor-element.elementor-element-845d1f1.elementor-column > .elementor-widget-wrap{justify-content:center;}}@media(max-width:1262px) and (min-width:767px){.elementor-1317 .elementor-element.elementor-element-a5c3dbf{width:50%;}}@media(min-width:1263px){.elementor-1317 .elementor-element.elementor-element-c818ed2:not(.elementor-motion-effects-element-type-background), .elementor-1317 .elementor-element.elementor-element-c818ed2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for heading, class: .elementor-element-f785d42 *//* The Animated Span */
.elementor-1317 .elementor-element.elementor-element-f785d42 span {
    display: inline-block;
    position: relative;
    /* Initial State */
    color: #ED1C34; /* Brand Red */
    transform-origin: bottom center;
    
    /* THE INFINITE LOOP: 4 seconds total */
    animation: nphs-ladder-loop 4s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}



/* --- Keyframes --- */

@keyframes nphs-ladder-loop {
    /* PHASE 1: HIGH & WOBBLY (The Ladder) */
    0% {
        transform: translateY(-15px) rotate(0deg);
        color: #ED1C34; /* Red = Danger */
        opacity: 0;
    }
    10% {
        opacity: 1;
        transform: translateY(-15px) rotate(-2deg);
    }
    15% {
        transform: translateY(-15px) rotate(2deg);
    }
    20% {
        transform: translateY(-15px) rotate(-1deg);
    }
    
    /* PHASE 2: THE DROP (Getting Off) */
    25% {
        transform: translateY(0px) scaleY(1);
        color: #ED1C34;
    }
    
    /* PHASE 3: THE IMPACT (Solid Ground) */
    30% {
        transform: translateY(2px) scaleY(0.9); /* Squash effect */
        color: #ED1C34; /* Navy = Safe */
    }
    35% {
        transform: translateY(0px) scaleY(1);
        color: #ED1C34;
    }
    
    /* PHASE 4: STAY SAFE (Hold) */
    80% {
        transform: translateY(0px);
        opacity: 1;
        color: #ED1C34;
    }
    
    /* PHASE 5: RESET */
    90% {
        transform: translateY(10px); /* Drop out bottom */
        opacity: 90;
    }
    100% {
        transform: translateY(10px);
        opacity: 90;
        color: #ED1C34;
    }
}

/* The Line Animation */
@keyframes nphs-ground-line {
    0%, 25% { transform: scaleX(0); opacity: 0; }
    30% { transform: scaleX(1); opacity: 1; } /* Line shoots out on impact */
    80% { transform: scaleX(1); opacity: 1; }
    90%, 100% { transform: scaleX(1); opacity: 0; }
}

/* Mobile Fix */
@media (max-width: 768px) {
    .elementor-1317 .elementor-element.elementor-element-f785d42 span { font-size: 38px; }
   .elementor-1317 .elementor-element.elementor-element-f785d42 span { display: block; margin-top: 5px; }
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-1465 *//* 1. Normal State: Gentle "Pointing" Loop */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button-text::after {
    /* Name | Duration | Timing | Infinite Loop */
    animation: arrow-nudge 1.5s infinite ease-in-out;
}

/* 2. Hover State: Fast "Urgent" Loop */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-text::after {
    /* Same animation, but much faster (0.4s) */
    animation: arrow-nudge 0.4s infinite ease-in-out;
}

/* 3. The Animation Keyframes */
@keyframes arrow-nudge {
    0% {
        transform: translateX(0px);
    }
    50% {
        transform: translateX(6px); /* Moves right to "point" */
    }
    100% {
        transform: translateX(0px); /* Returns to start */
    }
}



/* --- 1. The Button Container (Shape & Shadow) --- */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button {
    /* Create the Slant */
    transform: skewX(-15deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464;
    
    /* Brand Red Background (Normal State) */
    background-color: #ED1C34 !important;
    
    /* Sharp Corners (Override default rounded) */
    border-radius: 0px !important;
    
    /* Spacing for shadow */
    margin-right: 10px;
    margin-bottom: 0px;
    
    /* Smooth Transition */
    transition: all 0.2s ease;
}

/* --- 2. Un-skew the Text & Icon --- */
/* This ensures the text stays upright and readable */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button-content-wrapper {
    transform: skewX(15deg);
}

/* --- 3. Hover Effect (Mechanical 'Press') --- */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover {
    /* Move down and right to 'click' */
    transform: skewX(-15deg) translate(3px, 3px);
    
    /* Shrink shadow to match movement */
    box-shadow: 3px 3px 0px #232464;
    
    /* Hover Color: Switch to Navy for a 'Pro' contrast */
    background-color: #232464 !important;
}

/* Ensure Text/Icon remains White on hover */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-icon {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-1474 *//* --- 1. The Button Container (White Version) --- */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button {
    /* Create the Slant */
    transform: skewX(-15deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464;
    
    /* White Background (Normal State) */
    background-color: #FFFFFF !important;
    
    /* Red Border (To define the edges) */
    border: 2px solid #ED1C34 !important;
    
    /* Sharp Corners */
    border-radius: 0px !important;
    
    /* Spacing for shadow */
    margin-right: 10px;
    margin-bottom: 10px;
    
    /* Smooth Transition */
    transition: all 0.2s ease;
}

/* --- 2. Text & Icon Styling (Navy on White) --- */
/* Un-skew the wrapper first */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button-content-wrapper {
    transform: skewX(15deg);
}

/* Set Text to Navy for contrast */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button .elementor-button-icon {
    color: #232464 !important;
    fill: #232464 !important;
}

/* --- 3. Hover Effect (Mechanical 'Press' + Color Swap) --- */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover {
    /* Move down and right to 'click' */
    transform: skewX(-15deg) translate(3px, 3px);
    
    /* Shrink shadow */
    box-shadow: 3px 3px 0px #232464;
    
    /* Hover Color: Turn Red for high visibility */
    background-color: #ED1C34 !important;
    
    /* Optional: Switch border to Navy on hover */
    border-color: #232464 !important;
}

/* Turn Text/Icon White on Hover */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover .elementor-button-icon {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-de4de87 */.elementor-1317 .elementor-element.elementor-element-de4de87 {
    position: relative;
z-index: 9999;
isolation: isolate;

}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-45f1869 */.elementor-kit-7 label {font-family: "Montserrat"!important;
}

.kc_captcha {
    display: flex;
    justify-content: center;
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for social-icons, class: .elementor-element-9a21d48 *//* --- 1. The Icon Container (The Shape) --- */
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon {
    /* Create the Slant */
    transform: skewX(-15deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464; 
    
    /* Brand Styling */
    background-color: #ED1C34 !important; /* Brand Red Background */
    border-radius: 0px !important; /* Sharp Corners */
    border: 2px solid #ED1C34 !important; /* Optional: Solid Border */
    
    /* Spacing to prevent clipping */
    margin-right: 15px !important; 
    margin-bottom: 10px !important;
    
    /* Smooth Transition */
    transition: all 0.2s ease;
}

/* --- 2. Un-skew the Icon Symbol --- */
/* Keeps the F, In, and Camera icons upright */
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon i,
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon svg {
    transform: skewX(15deg);
    color: #FFFFFF !important; /* Ensure icons are white */
}

/* --- 3. Hover Effect (Mechanical 'Press') --- */
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon:hover {
    /* Move down and right to 'click' the button */
    transform: skewX(-15deg) translate(2px, 2px);
    
    /* Shrink shadow to match the movement */
    box-shadow: 2px 2px 0px #232464;
    
    /* Interactive Color Swap */
    background-color: #FFFFFF !important; /* Turn White on hover */
    border-color: #FFFFFF !important;
}

/* Change Icon color to Red on hover */
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon:hover i,
.elementor-1317 .elementor-element.elementor-element-9a21d48 .elementor-social-icon:hover svg {
    color: #ED1C34 !important; /* Icon turns Brand Red */
    fill: #ED1C34 !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4f3d5dc *//* --- 1. The Frame (Container) --- */
.elementor-1317 .elementor-element.elementor-element-4f3d5dc {
    /* Create the Slant */
    transform: skewX(-2deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464;
    
    /* The Industrial Border (Red) */
    border: 4px solid #ED1C34;
    
    /* Ensure the map stays inside the slanted lines */
    overflow: hidden;
    padding: 5px;
    /* Spacing for the shadow */
    margin-right: 15px;
    
    /* White background to frame it */
    background-color: #FFFFFF;
}

/* --- 2. The Map Iframe (Un-skew & Fill) --- */
.elementor-1317 .elementor-element.elementor-element-4f3d5dc iframe {
    /* 1. skewX(15deg): Rotates the map back to normal so streets aren't crooked.
       2. scale(1.2): Zooms in slightly to fill the empty corners created by the slant.
    */
    transform: skewX(0deg) scale(1.025);
    
    /* Force map to fill the container */
    width: 100% !important;
    display: block;
}

/* --- 3. Hover Effect (Mechanical 'Press') --- */
.elementor-1317 .elementor-element.elementor-element-4f3d5dc:hover {
    /* Move down-right to 'click' */
    transform: skewX(-2deg) translate(4px, 4px);
    
    /* Shrink shadow */
    box-shadow: 4px 4px 0px #232464;
    
    /* Optional: Border turns Navy on hover */
    border-color: #232464;
    transition: all 0.3s ease;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-efb6966 */.elementor-1317 .elementor-element.elementor-element-efb6966 span {
    color:#ed1c34;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-1465 *//* 1. Normal State: Gentle "Pointing" Loop */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button-text::after {
    /* Name | Duration | Timing | Infinite Loop */
    animation: arrow-nudge 1.5s infinite ease-in-out;
}

/* 2. Hover State: Fast "Urgent" Loop */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-text::after {
    /* Same animation, but much faster (0.4s) */
    animation: arrow-nudge 0.4s infinite ease-in-out;
}

/* 3. The Animation Keyframes */
@keyframes arrow-nudge {
    0% {
        transform: translateX(0px);
    }
    50% {
        transform: translateX(6px); /* Moves right to "point" */
    }
    100% {
        transform: translateX(0px); /* Returns to start */
    }
}



/* --- 1. The Button Container (Shape & Shadow) --- */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button {
    /* Create the Slant */
    transform: skewX(-15deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464;
    
    /* Brand Red Background (Normal State) */
    background-color: #ED1C34 !important;
    
    /* Sharp Corners (Override default rounded) */
    border-radius: 0px !important;
    
    /* Spacing for shadow */
    margin-right: 10px;
    margin-bottom: 0px;
    
    /* Smooth Transition */
    transition: all 0.2s ease;
}

/* --- 2. Un-skew the Text & Icon --- */
/* This ensures the text stays upright and readable */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button-content-wrapper {
    transform: skewX(15deg);
}

/* --- 3. Hover Effect (Mechanical 'Press') --- */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover {
    /* Move down and right to 'click' */
    transform: skewX(-15deg) translate(3px, 3px);
    
    /* Shrink shadow to match movement */
    box-shadow: 3px 3px 0px #232464;
    
    /* Hover Color: Switch to Navy for a 'Pro' contrast */
    background-color: #232464 !important;
}

/* Ensure Text/Icon remains White on hover */
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1465 .elementor-button:hover .elementor-button-icon {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-1474 *//* --- 1. The Button Container (White Version) --- */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button {
    /* Create the Slant */
    transform: skewX(-15deg);
    
    /* The Hard Brand Shadow (Navy, 0 Blur) */
    box-shadow: 4px 4px 0px #232464;
    
    /* White Background (Normal State) */
    background-color: #FFFFFF !important;
    
    /* Red Border (To define the edges) */
    border: 2px solid #ED1C34 !important;
    
    /* Sharp Corners */
    border-radius: 0px !important;
    
    /* Spacing for shadow */
    margin-right: 10px;
    margin-bottom: 10px;
    
    /* Smooth Transition */
    transition: all 0.2s ease;
}

/* --- 2. Text & Icon Styling (Navy on White) --- */
/* Un-skew the wrapper first */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button-content-wrapper {
    transform: skewX(15deg);
}

/* Set Text to Navy for contrast */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button .elementor-button-icon {
    color: #232464 !important;
    fill: #232464 !important;
}

/* --- 3. Hover Effect (Mechanical 'Press' + Color Swap) --- */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover {
    /* Move down and right to 'click' */
    transform: skewX(-15deg) translate(3px, 3px);
    
    /* Shrink shadow */
    box-shadow: 3px 3px 0px #232464;
    
    /* Hover Color: Turn Red for high visibility */
    background-color: #ED1C34 !important;
    
    /* Optional: Switch border to Navy on hover */
    border-color: #232464 !important;
}

/* Turn Text/Icon White on Hover */
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover .elementor-button-text,
.elementor-1317 .elementor-element.elementor-global-1474 .elementor-button:hover .elementor-button-icon {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}/* End custom CSS */