/* Project base styles belong here. */
.elementor .e-con.crf-section {
    --padding-top: 100px;
    --padding-bottom: 100px;
    padding-top: 100px;
    padding-bottom: 100px;
}

.crf-footer-menu .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: wrap;
    gap: 27px 41px;
}

.crf-site-footer .crf-footer-divider,
.crf-site-footer .crf-footer-divider img {
    display: block;
    height: 1px;
    line-height: 0;
}

.crf-site-footer a:focus-visible {
    outline: 2px solid var(--e-global-color-c2f0005);
    outline-offset: 2px;
}

/* The icon widget's native indent supplies the source's 10px gap. */
.crf-site-footer .crf-footer-contact .elementor-icon-list-item .elementor-icon-list-icon svg {
    margin-inline-end: 0;
}
.crf-site-footer .crf-footer-contact .elementor-icon-list-icon svg path {
    transition: fill 200ms ease;
}
.crf-site-footer .crf-footer-contact .elementor-icon-list-item:hover .elementor-icon-list-icon svg path,
.crf-site-footer .crf-footer-contact .elementor-icon-list-item:focus-within .elementor-icon-list-icon svg path {
    fill: var(--e-global-color-secondary);
}
.crf-footer-contact .elementor-icon-list-item .elementor-icon-list-text {
    padding-inline-start: 0;
}

/* The desktop text measure must also fit narrower desktop windows. */
.crf-home-hero .e-con.crf-hero-copy { max-width: 100%; }

/* Elementor's paragraph spacing also applies after the final paragraph. */
.crf-home-hero .crf-hero-copy .elementor-widget-text-editor p:last-child {
    margin-block-end: 0;
}

.crf-contact-form {
    --crf-form-size: 18px;
    color: var(--e-global-color-text);
    font: 400 var(--crf-form-size)/1.3 var(--e-global-typography-text-font-family), sans-serif;
}
.crf-contact-form .wpcf7-form p { margin: 0; }
.crf-contact-form .crf-mailing-label label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    min-height: 43px;
}
.crf-contact-form .crf-mailing-row > p {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 138px;
    align-items: start;
    gap: 12px;
}
.crf-contact-form input[type=email],
.crf-contact-form input[type=submit] {
    width: 100%;
    min-width: 0;
    height: 55px;
    margin: 0;
    border-radius: 0;
    font: inherit;
}
.crf-contact-form input[type=email] {
    padding: 0 22px;
    color: var(--e-global-color-text);
    border: 1px solid currentColor;
    background: white;
    transition: border-color 200ms ease;
}
.crf-contact-form input::placeholder { color: #a3a3a3; opacity: 1; }
.crf-contact-form input[type=submit] {
    padding: 0 12px;
    color: white;
    border: 0;
    background: var(--e-global-color-secondary);
    cursor: pointer;
    transition: background-color 200ms ease, color 200ms ease;
}
.crf-contact-form input[type=submit]:hover,
.crf-contact-form input[type=submit]:focus-visible { background: var(--e-global-color-text); }
.crf-contact-form input:focus-visible {
    outline: 2px solid var(--e-global-color-primary);
    outline-offset: 2px;
}
.crf-contact-form input[type=submit]:disabled,
.crf-contact-form form.submitting input[type=submit] {
    background: var(--e-global-color-text);
    cursor: wait;
    pointer-events: none;
}
.crf-contact-form .wpcf7-spinner {
    position: absolute;
    top: 15px;
    right: 5px;
    margin: 0;
    pointer-events: none;
}
.crf-contact-form .wpcf7-not-valid-tip,
.crf-contact-form .wpcf7 form .wpcf7-response-output {
    color: var(--e-global-color-text);
    font-size: 16px;
    line-height: 1.3;
}
.crf-contact-form .wpcf7-not-valid-tip { margin-top: 6px; color: #dc3232;}
.crf-contact-form .crf-mailing-aborted { display: none; }
.crf-contact-form form.aborted .crf-mailing-aborted { display: block; }
.crf-contact-form .crf-mailing-aborted a { color: inherit; }
.crf-contact-form input[aria-invalid=true] { border-width: 2px; }
.crf-contact-form .wpcf7 form .wpcf7-response-output {
    margin: 12px 0 0;
    padding: 8px 12px;
    border: 1px solid var(--e-global-color-text);
    border-inline-start-width: 4px;
}
.crf-contact-form .wpcf7 form.sent .wpcf7-response-output {
    border-inline-start-color: var(--e-global-color-primary);
}
.crf-contact-form .wpcf7 form.invalid .wpcf7-response-output {
    display: none;
}
.crf-contact-line a { color: inherit; }
.crf-home-contact .crf-contact-content .crf-contact-memorial .elementor-image-box-wrapper .elementor-image-box-img {
    flex-shrink: 0;
    margin-block: 0;
}
.crf-contact-memorial .elementor-image-box-content {
    min-width: 0;
    padding-top: 13px;
}
