/*
|--------------------------------------------------------------------------
| CGEI Footer
|--------------------------------------------------------------------------
*/

.ceig-prefooter-social-row {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    width: calc(100% - 40px);
    max-width: calc(var(--content-width) - 40px);

    margin: 0 auto;
    padding: 0;
}

.ceig-prefooter-social-links {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;

    gap: 0;

    margin: 0;
    padding: 0;

    background: #00163e;

    border-radius: 4px 4px 0 0;

    box-shadow: 0 -3px 8px rgba(0, 22, 62, 0.11);
}

.ceig-prefooter-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 32px;

    margin: 0;
    padding: 8px;

    color: #ffffff;
    background: #00163e;

    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.35);

    text-decoration: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.ceig-prefooter-social-link:first-child {
    border-left: 0;
    border-radius: 4px 0 0 0;
}

.ceig-prefooter-social-link:last-child {
    border-radius: 0 4px 0 0;
}

.ceig-prefooter-social-link svg {
    display: block;

    width: 16px;
    height: 16px;

    fill: currentColor;
}

.ceig-prefooter-social-link:hover,
.ceig-prefooter-social-link:focus-visible {
    color: #00163e;
    background: #d4af37;
}

.ceig-prefooter-social-link:focus-visible {
    position: relative;
    z-index: 2;

    outline: 2px solid #d4af37;
    outline-offset: 1px;
}

.ceig-site-footer {
    display: block;
    overflow: hidden;

    width: 100%;
    height: auto;
    min-height: 0;

    margin: 0;
    padding: 0;

    color: #ffffff;
    background: #00163e;
}

.ceig-site-footer,
.ceig-site-footer * {
    box-sizing: border-box;
}

/*
|--------------------------------------------------------------------------
| Footer structure
|--------------------------------------------------------------------------
*/

.ceig-footer-inner {
    display: grid;

    grid-template-columns:
        minmax(0, 48%)
        minmax(0, 18%)
        minmax(0, 34%);

    align-items: stretch;

    width: calc(100% - 48px);
    max-width: 1440px;

    margin: 0 auto;
    padding: 0;
}

.ceig-footer-column {
    position: relative;

    min-width: 0;

    margin: 0;
    padding: 10px 20px 8px;
}

/*
|--------------------------------------------------------------------------
| Gold dividers
|--------------------------------------------------------------------------
*/

.ceig-footer-quick-column::after,
.ceig-footer-legal-column::after {
    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 2px;
    height: auto;

    margin: 0;
    padding: 0;

    background: #d4af37;

    content: "";
}

/*
|--------------------------------------------------------------------------
| Footer typography
|--------------------------------------------------------------------------
*/

footer.ceig-site-footer,
footer.ceig-site-footer * {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 11pt !important;
}

.ceig-footer-heading {
    margin: 0 0 6px;
    padding: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
    font-weight: 700;
    line-height: 1.15;

    text-align: center;
}

.ceig-footer-heading::before,
.ceig-footer-heading::after {
    display: none !important;

    content: none !important;
}

/*
|--------------------------------------------------------------------------
| Quick Menu
|--------------------------------------------------------------------------
*/

.ceig-footer-quick-block {
    width: max-content;
    max-width: 100%;

    margin: 0 auto;
}

.ceig-footer-quick-menu {
    display: grid;

    grid-template-columns:
        max-content
        max-content;

    justify-content: center;

    column-gap: 72px;

    width: max-content;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.ceig-footer-link-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 4px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.ceig-footer-link-list li {
    width: 100%;

    margin: 0;
    padding: 0;
}

.ceig-footer-link {
    display: inline-block;

    margin: 0;
    padding: 0;

    color: #ffffff;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
    font-weight: 400;
    line-height: 1.15;

    text-align: left;
    text-decoration: none;

    transition: color 0.2s ease;
}

.ceig-footer-quick-menu .ceig-footer-link {
    font-size: 11pt;
}

.ceig-footer-link:hover,
.ceig-footer-link:focus-visible,
.ceig-footer-link-current {
    color: #d4af37;
}

.ceig-footer-link:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

/*
|--------------------------------------------------------------------------
| Legal
|--------------------------------------------------------------------------
*/

.ceig-footer-legal-block {
    display: grid;
    justify-items: center;

    width: max-content;
    max-width: 100%;

    margin: 0 auto;
}

.ceig-footer-legal-list {
    align-items: center;

    width: max-content;
    max-width: 100%;

    margin: 0;
}

.ceig-footer-legal-list .ceig-footer-link {
    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Logo and copyright
|--------------------------------------------------------------------------
*/

.ceig-footer-identity-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    gap: 3px;

    color: #00163e;
    background: #ffffff;

    box-shadow: 100vw 0 0 #ffffff;

    text-align: center;
}

.ceig-footer-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 128px;
    max-width: 100%;

    margin: 0 auto;
    padding: 1px 4px;

    border: 0;

    background: transparent;

    text-decoration: none;
}

.ceig-footer-logo {
    display: block;

    width: 118px;
    max-width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;

    object-fit: contain;
    object-position: center;
}

.ceig-footer-copyright {
    display: block;

    width: max-content;
    max-width: 100%;

    margin: 0;
    padding: 0;

    color: #00163e;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
    font-weight: 400;
    line-height: 1.15;

    text-align: center;
    white-space: nowrap;
}

/*
|--------------------------------------------------------------------------
| Medium screens
|--------------------------------------------------------------------------
*/

@media (max-width: 1120px) {

    .ceig-footer-inner {
        grid-template-columns:
            minmax(0, 44%)
            minmax(0, 18%)
            minmax(0, 38%);

        width: calc(100% - 32px);
    }

    .ceig-footer-column {
        padding: 9px 14px 7px;
    }

    .ceig-footer-quick-menu {
        grid-template-columns:
            max-content
            max-content;

        column-gap: 44px;
    }

    .ceig-footer-identity-column {
        padding-right: 8px;
        padding-left: 8px;
    }

    .ceig-footer-logo-link {
        width: 118px;
    }

    .ceig-footer-logo {
        width: 108px;
    }
}

/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 850px) {

    .ceig-footer-inner {
        grid-template-columns: 1fr;

        width: calc(100% - 28px);

        padding: 0;
    }

    .ceig-footer-column {
        padding: 10px 16px 9px;
    }

    .ceig-footer-quick-column::after,
    .ceig-footer-legal-column::after {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;

        width: 100%;
        height: 2px;
    }

    .ceig-footer-quick-menu {
        grid-template-columns:
            max-content
            max-content;

        column-gap: 30px;

        max-width: 600px;
    }

    .ceig-footer-quick-block {
        max-width: 600px;
    }

    .ceig-footer-legal-list {
        align-items: center;
    }

    .ceig-footer-legal-list .ceig-footer-link {
        text-align: center;
    }

    .ceig-footer-identity-column {
        gap: 3px;

        box-shadow:
            100vw 0 0 #ffffff,
            -100vw 0 0 #ffffff;
    }

    .ceig-footer-logo-link {
        width: 112px;
    }

    .ceig-footer-logo {
        width: 102px;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 520px) {

    .ceig-footer-inner {
        width: calc(100% - 22px);
    }

    .ceig-footer-column {
        padding: 9px 10px 8px;
    }

    .ceig-footer-heading {
        margin-bottom: 5px;
    }

    .ceig-footer-quick-menu {
        grid-template-columns:
            max-content
            max-content;

        column-gap: 12px;

        max-width: 100%;
    }

    .ceig-footer-quick-block {
        max-width: 100%;
    }

    .ceig-footer-link-list {
        align-items: flex-start;

        gap: 4px;
    }

    .ceig-footer-link-list .ceig-footer-link {
        text-align: left;
    }

    .ceig-footer-logo-link {
        width: 104px;
    }

    .ceig-footer-logo {
        width: 94px;
    }
}


@media (max-width: 1180px) {
    .ceig-prefooter-social-link {
        width: 44px;
        min-width: 44px;
        height: 44px;
    }
}

@media (max-width: 700px) {
    .ceig-prefooter-social-row {
        width: calc(100% - 28px);
    }
}

/* Placeholder menu item, not an active destination. */
.ceig-footer-link-disabled {
    cursor: default;
    pointer-events: none;
}
