/* Portable Daily Bread homepage hero. Activated only by dbc-portable-hero. */
.dbc-portable-hero {
    background-position: center;
    background-size: cover;
    isolation: isolate;
    position: relative;
}

.dbc-portable-hero::before {
    background: linear-gradient(100deg, rgba(20, 20, 20, 0.92), rgba(20, 20, 20, 0.72) 58%, rgba(20, 20, 20, 0.4));
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.dbc-portable-hero .dbc-home-hero-native.et_pb_fullwidth_header {
    background: transparent;
    border-radius: 0;
    inline-size: min(100%, 70rem);
    margin-inline: auto;
    max-inline-size: 70rem;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_fullwidth_header_container.left .header-content {
    background: rgba(255, 255, 255, 0.96);
    border: 0.0625rem solid rgba(189, 159, 106, 0.8);
    border-block-start: 0.3rem solid #bd9f6a;
    border-radius: 1rem;
    box-shadow: 0 1.25rem 3.5rem rgba(0, 0, 0, 0.28);
    max-inline-size: 48rem;
    padding: 1.5rem;
    text-align: left;
}

.dbc-portable-hero .dbc-home-eyebrow {
    color: #7a642f;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
}

.dbc-portable-hero .dbc-home-hero-native .header-content h1 {
    color: #2b2b2b;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.35rem, 6vw, 4.4rem);
    line-height: 1.04;
    margin: 0 0 1.25rem;
    max-inline-size: 100%;
    overflow-wrap: normal;
    text-transform: none;
}

.dbc-portable-hero .dbc-home-hero-native .header-content p:not(.dbc-home-eyebrow) {
    color: #2b2b2b;
    font-family: Montserrat, Arial, sans-serif;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.68;
    margin: 0 0 0.75rem;
    max-inline-size: 48rem;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button {
    align-items: center;
    border: 0.125rem solid #7a642f;
    border-radius: 0.45rem;
    display: inline-flex;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    justify-content: center;
    margin: 0.6rem 0.7rem 0 0;
    min-block-size: 3.25rem;
    padding: 0.8rem 1.25rem;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button_one {
    background: #7a642f;
    border-color: #7a642f;
    color: #ffffff;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button_two {
    background: #ffffff;
    border-color: #7a642f;
    color: #7a642f;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button_one:hover,
.dbc-portable-hero .dbc-home-hero-native .et_pb_button_one:focus-visible {
    background: #5f4d22;
    border-color: #5f4d22;
    color: #ffffff;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button_two:hover,
.dbc-portable-hero .dbc-home-hero-native .et_pb_button_two:focus-visible {
    background: #f7f4ec;
    border-color: #5f4d22;
    color: #5f4d22;
}

.dbc-portable-hero .dbc-home-hero-native .et_pb_button:focus-visible {
    outline: 0.2rem solid #7a642f;
    outline-offset: 0.2rem;
}

@media (min-width: 768px) {
    .dbc-portable-hero .dbc-home-hero-native .et_pb_fullwidth_header_container.left .header-content {
        padding: 2rem;
    }
}

@media (max-width: 767px) {
    .dbc-portable-hero .et_pb_fullwidth_header_container {
        width: 100%;
    }

    .dbc-portable-hero .dbc-home-hero-native .header-content-container,
    .dbc-portable-hero .dbc-home-hero-native .header-content {
        inline-size: 100%;
        margin-inline: auto;
        max-inline-size: 100%;
    }

    .dbc-portable-hero .dbc-home-hero-native .header-content h1 {
        font-size: 2.25rem;
    }

    .dbc-portable-hero .dbc-home-hero-native .et_pb_button {
        display: table;
        font-size: 0.9375rem;
        inline-size: auto;
        margin: 0.75rem 0 0;
        min-block-size: 0;
        padding: 0.625rem 0.875rem;
    }
}

@media (max-width: 360px) {
    .dbc-portable-hero .dbc-home-hero-native .header-content h1 {
        font-size: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dbc-portable-hero .dbc-home-hero-native .et_pb_button {
        transition-duration: 0.01ms;
    }
}

/* Portable Daily Bread contact section. Activated only by dbc-portable-contact. */
.dbc-portable-contact {
    background-color: #f7f2e8;
}

.dbc-portable-contact > .et_pb_row > .et_pb_column {
    background: #ffffff !important;
    border: 0.0625rem solid #d9d1c2;
    border-block-start: 0.25rem solid #bd9f6a;
    border-radius: 0.85rem;
    box-shadow: 0 0.85rem 2.2rem rgba(25, 25, 25, 0.09);
}

.dbc-portable-contact .et_pb_text {
    text-align: center;
}

.dbc-portable-contact .et_pb_text h2,
.dbc-portable-contact .et_pb_text p {
    color: #2b2b2b;
}

.dbc-portable-contact .et_pb_contact_form {
    display: block;
    inline-size: 100%;
    margin: 0 !important;
}

.dbc-portable-contact .et_pb_contact_field {
    float: none !important;
    inline-size: 100% !important;
    margin-block-end: 1rem !important;
    padding: 0 !important;
}

.dbc-portable-contact .et_pb_contact_form_label {
    clip: auto !important;
    color: #2b2b2b !important;
    display: block !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    margin-block-end: 0.45rem;
    position: static !important;
    visibility: visible !important;
}

.dbc-portable-contact :where(input:not([type="hidden"]), textarea, select) {
    background: #ffffff !important;
    border: 0.0625rem solid #676767 !important;
    border-radius: 0.4rem;
    color: #1f1f1f !important;
    font: inherit;
    inline-size: 100%;
    min-block-size: 3.25rem;
    padding: 0.8rem;
}

.dbc-portable-contact textarea {
    min-block-size: 9rem;
    resize: vertical;
}

.dbc-portable-contact .et_pb_contact_field[data-type="checkbox"] > .et_pb_contact_form_label,
.dbc-portable-contact .et_pb_contact_field_options_title {
    display: none !important;
}

.dbc-portable-contact .et_pb_contact_field_checkbox label {
    color: #2b2b2b !important;
    display: block;
    line-height: 1.55;
    padding-inline-start: 2.25rem;
    position: relative;
}

.dbc-portable-contact .et_pb_contact_field_checkbox label i {
    inset-block-start: 0.18rem;
    inset-inline-start: 0;
    margin: 0 !important;
    position: absolute;
}

.dbc-portable-contact .et_contact_bottom_container {
    display: flex;
    float: none;
    inline-size: 100%;
    justify-content: flex-start;
    margin-block-start: 0.5rem;
    text-align: start;
}

.dbc-portable-contact .et_pb_contact_submit {
    background: #bd9f6a !important;
    border: 0.125rem solid #bd9f6a !important;
    border-radius: 0.45rem;
    color: #1f1f1f !important;
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
    min-block-size: 3.25rem;
    padding: 0.8rem 1.25rem;
}

.dbc-portable-contact .dbc-required-marker {
    color: #8a1f11 !important;
    margin-inline-start: 0.2em;
}

.dbc-portable-contact .dbc-required-instruction {
    font-size: 0.95rem;
    margin: 0 0 1rem;
}

.dbc-portable-contact :where(a, button, input, textarea, select):focus-visible {
    outline: 0.2rem solid #7a642f !important;
    outline-offset: 0.2rem !important;
}

@media (prefers-reduced-motion: reduce) {
    .dbc-portable-contact :where(a, button, input, textarea, select) {
        transition-duration: 0.01ms !important;
    }
}
