.elementor-93 .elementor-element.elementor-element-20cfe1c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:130px;--padding-bottom:130px;--padding-left:0px;--padding-right:0px;}.elementor-93 .elementor-element.elementor-element-a0e9dd1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-93 .elementor-element.elementor-element-fb4a6c4{--display:flex;}.elementor-93 .elementor-element.elementor-element-66414ef{--display:flex;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-93 .elementor-element.elementor-element-5f0471a .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-93 .elementor-element.elementor-element-5f0471a .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-93 .elementor-element.elementor-element-5f0471a .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-type-html{padding-bottom:0px;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-button[type="submit"]{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-93 .elementor-element.elementor-element-5f0471a{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-93 .elementor-element.elementor-element-b2db35b{--display:flex;--padding-top:0px;--padding-bottom:130px;--padding-left:0px;--padding-right:0px;}.elementor-93 .elementor-element.elementor-element-adcd823{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:12px;--padding-right:12px;}.elementor-93 .elementor-element.elementor-element-862ca55 iframe{height:600px;}@media(max-width:1024px){.elementor-93 .elementor-element.elementor-element-a0e9dd1{--justify-content:center;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-93 .elementor-element.elementor-element-66414ef{--padding-top:30px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-93 .elementor-element.elementor-element-b2db35b{--padding-top:0px;--padding-bottom:80px;--padding-left:12px;--padding-right:12px;}.elementor-93 .elementor-element.elementor-element-adcd823{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-93 .elementor-element.elementor-element-a0e9dd1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-93 .elementor-element.elementor-element-5f0471a{padding:20px 0px 0px 0px;}.elementor-93 .elementor-element.elementor-element-b2db35b{--padding-top:0px;--padding-bottom:60px;--padding-left:12px;--padding-right:12px;}.elementor-93 .elementor-element.elementor-element-adcd823{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-93 .elementor-element.elementor-element-fb4a6c4{--width:41.66%;}.elementor-93 .elementor-element.elementor-element-66414ef{--width:58.33%;}}@media(max-width:1024px) and (min-width:768px){.elementor-93 .elementor-element.elementor-element-fb4a6c4{--width:100%;}.elementor-93 .elementor-element.elementor-element-66414ef{--width:100%;}}/* Start custom CSS for form, class: .elementor-element-5f0471a *//**
 * Elementor Pro Form - Contact Form Migration CSS
 * 
 * Description: Custom styling for Elementor Pro Forms to replicate Contact Form 7 design
 * Author: Skyline Coders
 * Website: https://skylinecoders.ca
 * Version: 1.0.0
 * Date: July 17, 2025
 * 
 * Purpose: Migrates Contact Form 7 styling to Elementor Pro Forms with:
 * - Dark theme compatibility
 * - 2-column responsive layout  
 * - Custom button animations
 * - Consistent field styling
 * 
 * Theme Variables Used:
 * --rr-color-bg-1: #11151C (form background)
 * --rr-color-border-1: #1E2228 (input background)
 * --rr-color-text-body: #B0B2B7 (text color)
 * --rr-color-theme-primary: #3F5AF3 (brand blue)
 */

/* ==========================================================================
   FORM CONTAINER
   ========================================================================== */

.elementor-element .elementor-widget-container .elementor-form {
    background: var(--rr-color-bg-1, #11151C) !important;
    padding: 40px !important;
    border-radius: 8px !important;
}

/* ==========================================================================
   INPUT FIELDS - TEXT, EMAIL, TEXTAREA
   ========================================================================== */

.elementor-form .elementor-field-group input.elementor-field,
.elementor-form .elementor-field-group textarea.elementor-field {
    background-color: var(--rr-color-border-1, #1E2228) !important;
    color: var(--rr-color-text-body, #B0B2B7) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    border: none !important;
    padding: 15.5px 30px !important;
    border-radius: 0 !important;
    margin-bottom: 25px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}

/* Placeholder text styling */
.elementor-form .elementor-field::placeholder {
    color: var(--rr-color-text-body, #B0B2B7) !important;
    opacity: 1 !important;
}

/* Focus states with blue highlight */
.elementor-form .elementor-field:focus {
    background-color: var(--rr-color-border-1, #1E2228) !important;
    border: 2px solid var(--rr-color-theme-primary, #3F5AF3) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(63, 90, 243, 0.1) !important;
}

/* Textarea specific height */
.elementor-form textarea.elementor-field {
    min-height: 120px !important;
    resize: vertical !important;
}

/* ==========================================================================
   SELECT DROPDOWN
   ========================================================================== */

.elementor-form .elementor-field-group select.elementor-field,
.elementor-form .elementor-field-group .elementor-select-wrapper select,
.elementor-form select,
select.elementor-field {
    background-color: var(--rr-color-border-1, #1E2228) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23B0B2B7' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right 20px center !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
    color: var(--rr-color-text-body, #B0B2B7) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    border: none !important;
    padding: 15.5px 30px !important;
    padding-right: 50px !important;
    border-radius: 0 !important;
    margin-bottom: 25px !important;
    width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}

/* Fallback for stubborn selects */
select[name*="query"],
select[name*="topic"] {
    background-color: #1E2228 !important;
    color: #B0B2B7 !important;
}

/* Select wrapper cleanup */
.elementor-form .elementor-field-group .elementor-select-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    position: relative !important;
}

/* Remove Elementor's default dropdown arrows */
.elementor-form .elementor-field-group .elementor-select-wrapper::before,
.elementor-form .elementor-field-group .elementor-select-wrapper::after,
.elementor-select-wrapper::before,
.elementor-select-wrapper::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* Remove specific Elementor caret element */
.elementor-select-wrapper .select-caret-down-wrapper {
    display: none !important;
}

/* Additional arrow removal */
.elementor-form .elementor-field-group .elementor-select-wrapper .elementor-select-toggle,
.elementor-select-wrapper .elementor-select-toggle {
    display: none !important;
}

/* Force remove background images on wrapper */
.elementor-select-wrapper {
    background-image: none !important;
}

/* Select focus state */
.elementor-form .elementor-field-group select.elementor-field:focus {
    background-color: var(--rr-color-border-1, #1E2228) !important;
    border: 2px solid var(--rr-color-theme-primary, #3F5AF3) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(63, 90, 243, 0.1) !important;
}

/* ==========================================================================
   FORM LAYOUT - 2 COLUMN RESPONSIVE
   ========================================================================== */

/* First row: First Name | Last Name */
.elementor-form .elementor-field-group:nth-child(1),
.elementor-form .elementor-field-group:nth-child(2) {
    width: calc(50% - 12.5px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-right: 25px !important;
}

.elementor-form .elementor-field-group:nth-child(2) {
    margin-right: 0 !important;
}

/* Second row: Email | Phone */
.elementor-form .elementor-field-group:nth-child(3),
.elementor-form .elementor-field-group:nth-child(4) {
    width: calc(50% - 12.5px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-right: 25px !important;
}

.elementor-form .elementor-field-group:nth-child(4) {
    margin-right: 0 !important;
}

/* Full width fields: Dropdown and Message */
.elementor-form .elementor-field-group:nth-child(5),
.elementor-form .elementor-field-group:nth-child(6) {
    width: 100% !important;
    display: block !important;
}

/* ==========================================================================
   SUBMIT BUTTON WITH HOVER ANIMATION
   ========================================================================== */

.elementor-form .elementor-button,
.elementor-form .elementor-button[type="submit"] {
    background: var(--rr-color-theme-primary, #3F5AF3) !important;
    color: white !important;
    border: none !important;
    padding: 15px 40px !important;
    border-radius: 5px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
    z-index: 1 !important;
}

/* Left-to-right hover animation overlay */
.elementor-form .elementor-button:before,
.elementor-form .elementor-button[type="submit"]:before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    transition: left 0.5s ease !important;
    z-index: -1 !important;
}

/* Trigger animation on hover */
.elementor-form .elementor-button:hover:before,
.elementor-form .elementor-button[type="submit"]:hover:before {
    left: 0 !important;
}

/* Maintain button color on hover */
.elementor-form .elementor-button:hover,
.elementor-form .elementor-button[type="submit"]:hover {
    background: var(--rr-color-theme-primary, #3F5AF3) !important;
    color: white !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN - MOBILE
   ========================================================================== */

@media (max-width: 768px) {
    /* Stack all fields vertically on mobile */
    .elementor-form .elementor-field-group:nth-child(1),
    .elementor-form .elementor-field-group:nth-child(2),
    .elementor-form .elementor-field-group:nth-child(3),
    .elementor-form .elementor-field-group:nth-child(4) {
        width: 100% !important;
        margin-right: 0 !important;
        display: block !important;
    }
    
    /* Reduce form padding on mobile */
    .elementor-element .elementor-widget-container .elementor-form {
        padding: 20px !important;
    }
}

/* ==========================================================================
   END OF CSS
   ========================================================================== *//* End custom CSS */
/* Start custom CSS for google_maps, class: .elementor-element-862ca55 */.elementor-93 .elementor-element.elementor-element-862ca55 iframe {
    filter: invert(90%);
    -webkit-filter: invert(90%); /* For Safari and older Chrome versions */
}/* End custom CSS */