

/* === SDDC DEFINITIVE FOOTER START === */

/*
 * Main Footer.
 */

footer .ds-footer-main-compact {
    padding-top: 46px !important;
    padding-bottom: 0px !important;
    overflow: visible !important;
}

footer .ds-footer-main-compact .mai-columns,
footer .ds-footer-main-compact .mai-column,
footer .ds-footer-main-compact .wp-block-columns,
footer .ds-footer-main-compact .wp-block-column {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: visible !important;
}

/*
 * Retired Language Navigation.
 */

footer
.wp-block-navigation-item:
has(.wp-block-polylang-navigation-language-switcher),
footer
.wp-block-navigation-submenu:
has(.wp-block-polylang-navigation-language-switcher) {
    display: none !important;
}

/*
 * Social Grid:
 * 4 Columns x 3 Rows.
 */

footer .wp-block-social-links.socialmenufooter {
    display: grid !important;

    grid-template-columns:
        repeat(4, 20px) !important;

    grid-template-rows:
        repeat(3, 20px) !important;

    grid-auto-flow: row !important;
    grid-auto-rows: 20px !important;

    column-gap: 34px !important;
    row-gap: 24px !important;

    width: max-content !important;

    height: 124px !important;
    min-height: 124px !important;
    max-height: none !important;

    margin:
        0 0 24px 0 !important;

    padding: 0 !important;

    align-content: start !important;
    justify-content: start !important;

    overflow: visible !important;
}

footer
.wp-block-social-links.socialmenufooter
.wp-social-link {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

footer
.wp-block-social-links.socialmenufooter
.wp-block-social-link-anchor {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 20px !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    overflow: visible !important;
}

footer
.wp-block-social-links.socialmenufooter
svg {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    max-width: none !important;
    max-height: none !important;

    color: currentColor !important;
    fill: currentColor !important;

    overflow: visible !important;
}

/*
 * Compact Search.
 */

footer
.wp-block-search
.wp-block-search__input {
    height: 46px !important;
    min-height: 46px !important;

    padding-top: 0 !important;
    padding-right: 14px !important;
    padding-bottom: 0 !important;
    padding-left: 14px !important;
}

footer
.wp-block-search
.wp-block-search__button {
    flex: 0 0 46px !important;

    width: 46px !important;
    min-width: 46px !important;

    height: 46px !important;
    min-height: 46px !important;

    padding: 0 !important;
}

footer
.wp-block-search
.wp-block-search__button svg {
    width: 18px !important;
    height: 18px !important;
}

/*
 * Footer Credits.
 */

footer .wp-ds-footer-credits-final {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-top: 46px !important;
    padding-right: 0 !important;
    padding-bottom: 46px !important;
    padding-left: 0 !important;

    color: #fff !important;
    background: #000 !important;

    box-sizing: border-box !important;
}

footer .wp-ds-footer-credits-row {
    display: flex !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: space-between !important;

    width: calc(100% - 40px) !important;
    max-width: 1200px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    gap: 32px !important;

    box-sizing: border-box !important;
}

footer .wp-ds-footer-credits-left {
    flex: 1 1 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: 12px !important;
    line-height: 1.5 !important;

    text-align: left !important;
}

footer .wp-ds-footer-credits-right {
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: 12px !important;
    line-height: 1.5 !important;

    text-align: right !important;
    white-space: nowrap !important;
}

footer
.wp-ds-footer-credits-final a {
    color: #fff !important;
    text-decoration: none !important;
}

footer .wp-ds-lang-active {
    color: #fff !important;
    opacity: 1 !important;
}

footer .wp-ds-lang-inactive {
    color: #fff !important;
    opacity: 0.45 !important;

    transition:
        opacity 0.2s ease !important;
}

footer .wp-ds-lang-inactive:hover,
footer .wp-ds-lang-inactive:focus-visible {
    color: #fff !important;
    opacity: 1 !important;
}

/*
 * Tablet.
 */

@media (max-width: 900px) {

    footer .ds-footer-main-compact {
    padding-top: 46px !important;
    padding-bottom: 0px !important;
    overflow: visible !important;
}

    footer .wp-ds-footer-credits-final {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }

    footer .wp-ds-footer-credits-row {
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;

        width: calc(100% - 40px) !important;

        gap: 8px !important;
    }

    footer .wp-ds-footer-credits-left,
    footer .wp-ds-footer-credits-right {
        width: 100% !important;

        text-align: left !important;
        white-space: normal !important;
    }
}

/*
 * Mobile.
 */

@media (max-width: 520px) {

    footer .ds-footer-main-compact {
    padding-top: 46px !important;
    padding-bottom: 0px !important;
    overflow: visible !important;
}

    footer .wp-ds-footer-credits-final {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    footer .wp-ds-footer-credits-row {
        width: calc(100% - 30px) !important;
    }

    footer .wp-ds-footer-credits-left,
    footer .wp-ds-footer-credits-right {
        font-size: 11px !important;
        line-height: 1.55 !important;
    }
}

/* === SDDC DEFINITIVE FOOTER END === */

/* === SDDC FOOTER VISUAL POLISH START === */

/*
 * Footer Menu Links.
 */

footer .linksmenufooter a,
footer .linksmenufooter a:visited,
footer .linksmenufooter a:hover,
footer .linksmenufooter a:focus,
footer .linksmenufooter a:active {
    text-decoration: none !important;
}

/*
 * Footer Credits:
 * Align Exactly With The Footer Content Edges.
 */

footer .wp-ds-footer-credits-row {
    width: 100% !important;
    max-width: 1200px !important;

    margin-right: auto !important;
    margin-left: auto !important;

    padding-right: 0 !important;
    padding-left: 0 !important;
}

footer .wp-ds-footer-credits-left {
    margin-right: auto !important;
    text-align: left !important;
}

footer .wp-ds-footer-credits-right {
    margin-left: auto !important;
    text-align: right !important;
}

/*
 * Footer Search:
 * Match DidacSoria.
 */

footer .wp-block-search {
    width: 100% !important;
    max-width: 276px !important;

    margin: 0 !important;
    padding: 0 !important;
}

footer
.wp-block-search
.wp-block-search__inside-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;

    align-items: stretch !important;

    width: 100% !important;
    max-width: 276px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

footer
.wp-block-search.wp-block-search__button-inside
.wp-block-search__inside-wrapper {
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
}

footer
.wp-block-search
.wp-block-search__input {
    display: block !important;

    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;

    padding-top: 0 !important;
    padding-right: 16px !important;
    padding-bottom: 0 !important;
    padding-left: 16px !important;

    color: #fff !important;
    background: #000 !important;

    border: 1px solid #fff !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: 0 !important;
}

footer
.wp-block-search
.wp-block-search__input::placeholder {
    color: #aaa !important;
    opacity: 1 !important;
}

footer
.wp-block-search
.wp-block-search__input:focus {
    color: #fff !important;
    background: #000 !important;

    border-color: #fff !important;

    box-shadow: none !important;
    outline: 0 !important;
}

footer
.wp-block-search
.wp-block-search__button {
    display: flex !important;

    flex: 0 0 46px !important;

    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    min-width: 46px !important;

    height: 46px !important;
    min-height: 46px !important;

    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 8px !important;

    padding: 0 !important;

    color: #000 !important;
    background: #fff !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

footer
.wp-block-search
.wp-block-search__button svg {
    display: block !important;

    width: 18px !important;
    height: 18px !important;

    fill: #000 !important;
}

footer
.wp-block-search
.wp-block-search__button:hover,
footer
.wp-block-search
.wp-block-search__button:focus,
footer
.wp-block-search
.wp-block-search__button:active {
    color: #000 !important;
    background: #ccc !important;
}

/*
 * Tablet Credits.
 */

@media (max-width: 900px) {

    footer .wp-ds-footer-credits-row {
        width: calc(100% - 40px) !important;
    }

    footer .wp-block-search {
        max-width: 100% !important;
    }

    footer
    .wp-block-search
    .wp-block-search__inside-wrapper {
        max-width: 100% !important;
    }
}

/*
 * Mobile Credits.
 */

@media (max-width: 520px) {

    footer .wp-ds-footer-credits-row {
        width: calc(100% - 30px) !important;
    }
}

/* === SDDC FOOTER VISUAL POLISH END === */

/* === SDDC ORIGINAL FORM LOGO RESTORE START === */

/*
 * Keep Quote Form Centered.
 */

.site-footer .nf-form-content {
    margin-right: auto !important;
    margin-left: auto !important;
}

/*
 * Hide Ninja Forms Required Notice.
 */

.site-footer .nf-form-fields-required,
.site-footer .ninja-forms-req-symbol {
    display: none !important;
}

/*
 * Restore Original StudioDDC Submit Button.
 */

.site-footer .sddc-button-form-main {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
    display: block !important;
    width: 100% !important;
}

.site-footer .sddc-button-form-main:hover,
.site-footer .sddc-button-form-main:focus {
    background-color: #222 !important;
    border-color: #222 !important;
    color: #fff !important;
}

/*
 * Restore Original StudioDDC Select Dashicon.
 */

.site-footer
.nf-form-content
.list-select-wrap
.nf-field-element
> div[for]::after {
    content: "\f140" !important;
    font-family: dashicons !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 20px !important;
    height: 20px !important;
    width: 20px !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

/*
 * SET QUOTE FORM FIELD GAP FOR ENGLISH AND SPANISH FORMS.
 */

@media (min-width: 801px) {

    #nf-form-1-cont nf-fields-wrap,
    #nf-form-2-cont nf-fields-wrap {
        display: flex !important;
        gap: 5px !important;
        width: 100% !important;
    }

    #nf-form-1-cont nf-fields-wrap > nf-field,
    #nf-form-2-cont nf-fields-wrap > nf-field {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    #nf-form-1-cont nf-fields-wrap > nf-field > .one-fourth,
    #nf-form-2-cont nf-fields-wrap > nf-field > .one-fourth {
        float: none !important;
        margin-left: 0 !important;
        width: 100% !important;
    }
}

/*
 * SITE LOGO HOVER.
 */

.site-header .custom-logo-link {
    transition: opacity 0.25s ease;
}

.site-header .custom-logo-link:hover,
.site-header .custom-logo-link:focus-visible {
    opacity: 0.65;
}

/*
 * FOOTER SEARCH COLUMN LOGO.
 */

footer .wp-sddc-footer-search-logo {
    margin-top: 30px;
}

footer .wp-sddc-footer-search-logo-link {
    display: inline-block;
    line-height: 0;
    transition: opacity 0.25s ease;
}

footer .wp-sddc-footer-search-logo-link:hover,
footer .wp-sddc-footer-search-logo-link:focus-visible {
    opacity: 0.65;
}

footer .wp-sddc-footer-search-logo-image {
    display: block;
    width: 175px;
    max-width: 100%;
    height: auto;
}

@media (max-width: 800px) {

    footer .wp-sddc-footer-search-logo {
        margin-top: 24px;
    }

    footer .wp-sddc-footer-search-logo-image {
        width: 120px;
    }
}

/*
 * STUDIODDC HEADER CONTACT SEPARATION.
 */

.highlight {
    padding-left: 50px;
}

@media only screen and (max-width: 768px) {

    .highlight {
        padding-top: 50px;
        padding-left: 0;
    }
}

/*
 * STUDIODDC HEADER SUBMENU DASHICON.
 */

.nav-header .menu-item-has-children > .menu-item-link::after {
    content: "\f140" !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin-left: var(--spacing-xs, 6px) !important;
    border: 0 !important;
    font-family: "dashicons" !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    transform: none !important;
}

/*
 * GLOBAL NINJA FORMS SELECT DASHICON.
 */

.nf-form-content
.list-select-wrap
.nf-field-element
> div[for]::after {
    content: "\f140" !important;
    font-family: "dashicons" !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    width: 20px !important;
    height: 20px !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}
