/* =========================================================
   PREMIER POINT MORTGAGE TOOLS
   Widget ID: 3fbbd8f4
   ========================================================= */

.ppm-container-3fbbd8f4 {
    --ppm-blue: #0D47A1;
    --ppm-black: #000000;
    --ppm-white: #FFFFFF;
    --ppm-body: #54595F;
    --ppm-border: #E1E6EC;
    --ppm-column-gap: 50px;
    --ppm-left-width: 45%;
    --ppm-overlay-color: #0D47A1;
    --ppm-overlay-opacity: 92%;

    font-family: 'Poppins', sans-serif;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

.ppm-container-3fbbd8f4 *,
.ppm-container-3fbbd8f4 *::before,
.ppm-container-3fbbd8f4 *::after {
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}


/* =========================================================
   MAIN TWO COLUMN LAYOUT
   ========================================================= */

.ppm-main-grid-3fbbd8f4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ppm-column-gap);
    width: 100%;
    align-items: stretch;
    margin-bottom: 40px;
}

@media (min-width: 900px) {
    .ppm-main-grid-3fbbd8f4 {
        grid-template-columns:
            minmax(0, var(--ppm-left-width))
            minmax(0, 1fr);
    }
}


/* =========================================================
   LEFT IMAGE COLUMN
   ========================================================= */

.ppm-left-col-3fbbd8f4 {
    position: relative;
    width: 100%;
    min-width: 0;
}

.ppm-image-container-3fbbd8f4 {
    position: relative;
    width: 100%;
    height: 580px;
    overflow: hidden;
    background: #F2F4F7;
}

.ppm-image-container-3fbbd8f4 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 0 !important;
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.ppm-overlay-3fbbd8f4 {
    position: absolute;
    left: 30px;
    bottom: 30px;
    z-index: 2;

    width: 85%;
    max-width: calc(100% - 60px);
    padding: 30px;

    color: var(--ppm-white);

    /*
     * Solid fallback first.
     * color-mix gives background transparency without
     * making the heading and paragraph transparent.
     */
    background-color: var(--ppm-overlay-color);
    background-color: color-mix(
        in srgb,
        var(--ppm-overlay-color) var(--ppm-overlay-opacity),
        transparent
    );

    border-radius: 0 !important;
}

.ppm-overlay-3fbbd8f4 h3 {
    margin: 0 0 12px;
    color: var(--ppm-white);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

.ppm-overlay-3fbbd8f4 p {
    margin: 0;
    color: var(--ppm-white);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
}


/* =========================================================
   RIGHT COLUMN
   ========================================================= */

.ppm-right-col-3fbbd8f4 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
}


/* Header */

.ppm-header-3fbbd8f4 {
    margin: 0 0 26px;
}

.ppm-header-3fbbd8f4 h2 {
    margin: 0 0 12px;
    color: var(--ppm-black);

    /* Site standard established for section headings */
    font-size: 30px;
    font-weight: 400;
    line-height: 1.3;
}

.ppm-header-desc-3fbbd8f4 {
    margin: 0;
    max-width: 720px;

    color: var(--ppm-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}


/* =========================================================
   MORTGAGE TOOL ROWS
   ========================================================= */

.ppm-tools-container-3fbbd8f4 {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
}

.ppm-tool-row-3fbbd8f4 {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    min-width: 0;

    padding: 22px 26px;

    background: var(--ppm-white);
    border: 1px solid var(--ppm-border);
    border-radius: 0 !important;

    color: inherit;
    text-decoration: none !important;
}

.ppm-tool-row-3fbbd8f4:hover {
    background: #F8FAFC;
}

.ppm-tool-row-3fbbd8f4:focus-visible {
    outline: 2px solid var(--ppm-blue);
    outline-offset: 3px;
}


/* Left blue accent */

.ppm-tool-row-accent-3fbbd8f4 {
    position: absolute;
    left: -1px;
    top: 50%;

    width: 3px;
    height: 60%;

    transform: translateY(-50%);
    background: var(--ppm-blue);
}


/* Tool icon */

.ppm-tool-row-icon-container-3fbbd8f4 {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin-right: 22px;
    margin-left: 4px;
}

.ppm-tool-row-icon-3fbbd8f4 {
    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--ppm-blue);
    font-size: 24px;
    line-height: 1;
}

.ppm-tool-row-icon-3fbbd8f4 i {
    color: currentColor;
}

.ppm-tool-row-icon-3fbbd8f4 svg {
    display: block;

    width: 24px;
    height: 24px;

    fill: currentColor;
    color: currentColor;
}


/* Tool copy */

.ppm-tool-row-content-3fbbd8f4 {
    flex: 1 1 auto;
    min-width: 0;
}

.ppm-tool-row-content-3fbbd8f4 h4 {
    margin: 0 0 6px;

    color: var(--ppm-blue);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
}

.ppm-tool-row-content-3fbbd8f4 p {
    margin: 0 0 10px;

    color: var(--ppm-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.ppm-tool-row-link-3fbbd8f4 {
    display: inline-block;

    color: var(--ppm-blue);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}


/* Right chevron */

.ppm-tool-row-arrow-3fbbd8f4 {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin-left: 20px;

    color: var(--ppm-blue);
}

.ppm-tool-row-arrow-3fbbd8f4 svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
}


/* =========================================================
   SUPPORT BAR
   ========================================================= */

.ppm-support-bar-3fbbd8f4 {
    display: flex;
    flex-direction: column;

    width: 100%;

    padding: 22px 28px;

    background: var(--ppm-blue);
    color: var(--ppm-white);

    border-radius: 0 !important;
}

.ppm-support-left-3fbbd8f4 {
    display: flex;
    align-items: center;

    margin-bottom: 18px;
}

.ppm-support-icon-3fbbd8f4 {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin-right: 14px;
}

.ppm-support-icon-3fbbd8f4 svg {
    width: 30px;
    height: 30px;

    fill: none;
    stroke: currentColor;
}

.ppm-support-left-3fbbd8f4 h4 {
    margin: 0 0 3px;

    color: var(--ppm-white);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.ppm-support-left-3fbbd8f4 p {
    margin: 0;

    color: var(--ppm-white);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.ppm-support-right-3fbbd8f4 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ppm-support-contact-item-3fbbd8f4 {
    display: flex;
    align-items: center;
    gap: 8px;

    min-width: 0;
}

.ppm-support-contact-item-3fbbd8f4 svg {
    flex: 0 0 auto;

    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
}

.ppm-support-contact-item-3fbbd8f4 a {
    overflow-wrap: anywhere;

    color: var(--ppm-white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.ppm-support-contact-item-3fbbd8f4 a:hover,
.ppm-support-contact-item-3fbbd8f4 a:focus {
    text-decoration: underline;
}


/* Desktop support bar */

@media (min-width: 768px) {
    .ppm-support-bar-3fbbd8f4 {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
    }

    .ppm-support-left-3fbbd8f4 {
        margin-bottom: 0;
    }

    .ppm-support-right-3fbbd8f4 {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 24px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 899px) {
    .ppm-main-grid-3fbbd8f4 {
        grid-template-columns: 1fr !important;
    }

    .ppm-image-container-3fbbd8f4 {
        height: 500px;
    }

    .ppm-right-col-3fbbd8f4 {
        width: 100%;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
    .ppm-container-3fbbd8f4 {
        padding-left: 0;
        padding-right: 0;
    }

    .ppm-main-grid-3fbbd8f4 {
        gap: 30px !important;
        margin-bottom: 30px;
    }

    .ppm-image-container-3fbbd8f4 {
        display: flex;
        flex-direction: column;

        height: auto !important;
        overflow: visible;
    }

    .ppm-image-container-3fbbd8f4 img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .ppm-overlay-3fbbd8f4 {
        position: relative;

        left: auto !important;
        bottom: auto !important;

        width: 100% !important;
        max-width: none;

        padding: 24px !important;
    }

    .ppm-overlay-3fbbd8f4 h3 {
        font-size: 21px;
    }

    .ppm-header-3fbbd8f4 {
        margin-bottom: 22px;
    }

    .ppm-header-3fbbd8f4 h2 {
        font-size: 26px;
        line-height: 1.3;
    }

    .ppm-header-desc-3fbbd8f4 {
        font-size: 15px;
    }

    .ppm-tools-container-3fbbd8f4 {
        gap: 14px;
    }

    .ppm-tool-row-3fbbd8f4 {
        align-items: flex-start;
        padding: 20px 18px;
    }

    .ppm-tool-row-icon-container-3fbbd8f4 {
        margin-left: 2px;
        margin-right: 16px;
    }

    .ppm-tool-row-content-3fbbd8f4 h4 {
        font-size: 18px;
    }

    .ppm-tool-row-arrow-3fbbd8f4 {
        margin-left: 10px;
        padding-top: 2px;
    }

    .ppm-support-bar-3fbbd8f4 {
        padding: 22px 20px;
    }
}


/* Very small phones */

@media (max-width: 479px) {
    .ppm-tool-row-icon-container-3fbbd8f4 {
        display: none;
    }

    .ppm-tool-row-arrow-3fbbd8f4 {
        margin-left: 8px;
    }

    .ppm-support-left-3fbbd8f4 {
        align-items: flex-start;
    }
}