/*=============================*/
/*=====----- GENERAL -----=====*/
/*=============================*/

.panel-footer {
    position: relative;
    overflow: hidden;
}

.panel-footer .contentRender_name_plugins_core_textbox {
    padding: 0;
}

.panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) * {
    color: inherit;
}

.panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p,
.theme-microsite .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.2;
    color: var(--white);
}

.panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p:last-child,
.theme-microsite .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p:last-child {
    margin-bottom: 0;
}

.panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) a,
.theme-microsite .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) a {
    text-decoration: none;
    color: var(--white);
}

/*=====================================*/
/*=====----- CALLS TO ACTION -----=====*/
/*=====================================*/

.panel-footer .footer-ctas {
    padding-bottom: 74px;
}

.panel-footer .cta-row {
    width: 100%;
    max-width: 1338px;
    padding: 0 54px;
    margin: 0 auto 36px;
}

.panel-footer .cta-row > * {
    border-bottom: 1px solid var(--black);
}

.panel-footer .cta-row > *:last-child {
    border-bottom: none;
}

.panel-footer .cta {
    position: relative;
    display: block;
    text-decoration: none !important;
    padding: 32px 4px 36px;
    background-color: var(--white);
    text-align: center;
    color: var(--gray-dark);
    transition: color var(--transition-appendix);
}

.panel-footer .cta::before {
    position: absolute;
    inset: 0 8px;
    z-index: 1;
    display: block;
    background: var(--red);
    content: '';
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-appendix);
}

.panel-footer .cta .cta-content {
    position: relative;
    z-index: 2;
}

.panel-footer .cta .cta-title {
    margin-bottom: 8px;
    font-family: var(--font-display-2);
    font-weight: normal;
    font-size: 24px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--red);
}

.panel-footer .cta .cta-subtitle {
    margin-bottom: 4px;
    font-family: var(--font-body);
    font-weight: normal;
    font-style: italic;
    font-size: 22px;
    line-height: 1.2;
    color: inherit;
}

.panel-footer .cta .cta-desc {
    font-family: var(--font-franklin);
    font-weight: normal;
    font-size: 15px;
    line-height: calc(4/3);
    color: inherit;
}

/*==================================*/
/*=====----- SOCIAL LINKS -----=====*/
/*==================================*/

.panel-footer .social-links {
    font-size: 20px;
    line-height: 1;
    gap: 16px 24px;
}

.panel-footer .social-links .social-network {
    padding: 0;
}

/*===================================*/
/*=====----- FOOTER BOTTOM -----=====*/
/*===================================*/

.panel-footer .footer-bottom {
    color: var(--white);
    text-align: center;
}

.panel-footer .main {
    position: relative;
    padding: 10px 0;
    background-color: var(--gray-med);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.panel-footer .main::before,
.panel-footer .main::after {
    position: absolute;
    display: block;
    content: '';
    pointer-events: none;
}

.panel-footer .main::before {
    inset: 10px 0 auto 0;
    z-index: 2;
    height: 1px;
    background: var(--white);
}

.panel-footer .main::after {
    inset: 0;
    z-index: 1;
    background: rgba(77, 82, 88, .95);
}

.panel-footer .main-inner {
    position: relative;
    z-index: 4;
    display: grid;
    width: 100%;
    max-width: 1195px;
    padding: 0 30px;
    margin: 0 auto;
}

.panel-footer .main-inner > * {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.panel-footer .main-inner > *:first-child {
    margin-top: 16px;
}

.panel-footer .logo-cont {
    margin-bottom: 20px;
}

.panel-footer .logo-footer {
    width: 100%;
    max-width: 285px;
}

.panel-footer .enews-cont {
    order: 1;
}

.panel-footer .enews .title {
    margin-bottom: 4px;
    font-family: var(--font-body);
    font-weight: normal;
    font-style: italic;
    font-size: 22px;
    line-height: 1.2;
}

.panel-footer .content-cont {
    padding: 0 70px;
}

.panel-footer .nav-cont {
    padding: 30px 0;
}

.panel-footer .cityscape {
    position: relative;
    z-index: 2;
    display: block;
    height: 9.9vw;
    margin-top: 26px;
    background: url('/includes/public/assets/shared/cityscape-white.svg') no-repeat right center / auto 100%;
    pointer-events: none;
}

/*==================================*/
/*=====----- ATTRIBUTIONS -----=====*/
/*==================================*/

.panel-footer .attributions {
    padding: 12px 30px;
    background-color: var(--black);
}

.panel-footer .attributions-inner {
    width: 100%;
    max-width: 1135px;
    margin: 0 auto;
}

.panel-footer .copyright {
    margin-bottom: 16px;
    font-family: var(--font-franklin);
    font-weight: normal;
    font-size: 12px;
    line-height: 1.2;
}

.panel-footer .rights-reserved {
    display: block;
}

.panel-footer .made-by-sv {
    flex-shrink: 0;
}

.panel-footer .made-by-sv img {
    width: 110px;
    margin: 0 auto;
}

/*===================================*/
/*=====----- MEDIA QUERIES -----=====*/
/*===================================*/

@media (hover: hover) {
    .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) a:hover,
    .theme-microsite .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) a:hover {
        text-decoration: underline;
    }

    .panel-footer .cta:hover {
        color: var(--white);
    }

    .panel-footer .cta:hover::before {
        opacity: 1;
    }

    .panel-footer .cta:hover .cta-title {
        color: inherit;
    }
}

@media (min-width: 40em) {
    .panel-footer .footer-ctas {
        padding-bottom: 34px;
    }

    .panel-footer .cta-row {
        display: grid;
        grid-template: auto / repeat(2, minmax(0, 1fr)) ;
        padding: 0 30px;
        margin-bottom: 28px;
    }

    .panel-footer .cta-row > * {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .panel-footer .cta-row > *:nth-child(odd) {
        border-right: 1px solid var(--black);
    }

    .panel-footer .cta-row > *:last-child,
    .panel-footer .cta-row > *:nth-last-child(2) {
        border-bottom: none;
    }

    .panel-footer .cta {
        padding: 32px 16px 36px;
    }

    .panel-footer .attributions {
        text-align: left;
    }

    .panel-footer .attributions-inner {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 16px;
    }

    .panel-footer .copyright {
        margin: 0;
    }

    .panel-footer .made-by-sv img {
        margin: 0;
    }
}

@media (min-width: 64em) {
    .panel-footer .footer-bottom {
        text-align: left;
    }

    .panel-footer .cta-row {
        grid-template: auto / repeat(4, minmax(0, 1fr));
    }

    .panel-footer .cta-row > * {
        justify-content: flex-end;
        border-bottom: none;
        border-right: 1px solid var(--black);
    }

    .panel-footer .cta-row > *:last-child {
        border-right: none;
    }

    .panel-footer .main {
        padding: 20px 0 14px;
    }

    .panel-footer .main::before {
        top: 20px;
    }

    .panel-footer .main-inner {
        display: grid;
        grid-template:
            'logo news' auto
            'content nav' auto / auto minmax(0, 1fr);
        align-items: start;
        gap: 30px;
        padding-top: 36px;
    }

    .panel-footer .main-inner > * {
        display: block;
    }

    .panel-footer .main-inner > *:first-child {
        margin-top: 0;
    }
    
    .panel-footer .logo-cont {
        grid-area: logo;
        margin-bottom: 0;
    }

    .panel-footer .enews-cont,
    .panel-footer .nav-cont {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
    }

    .panel-footer .enews-cont {
        grid-area: news;
    }

    .panel-footer .content-cont {
        grid-area: content;
        padding: 0;
    }

    .panel-footer .nav-cont {
        grid-area: nav;
        padding: 0;
    }

    .panel-footer .enews {
        display: flex;
        align-items: baseline;
        gap: 30px;
    }

    .panel-footer .enews .title {
        margin: 0;
    }

    .panel-footer .cityscape {
        margin-top: 0;
        height: 118px;
    }

    .panel-footer .cta {
        height: 100%;
        display:  flex;
        align-items: flex-end;
    }
}

@media (min-width: 80em) {
    .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p,
    .theme-microsite .panel-footer :is(.core-styles, .contentRender_name_plugins_core_textbox) p {
        margin-bottom: 13px;
        font-size: 18px;
        line-height: calc(4/3);
    }

    .panel-footer .main {
        padding: 20px 0 78px;
    }

    .panel-footer .cta {
        padding: 26px 30px;
    }

    .panel-footer .cta .cta-title,
    .panel-footer .cta .cta-subtitle {
        font-size: 32px;
    }

    .panel-footer .cta .cta-title {
        margin-bottom: 34px;
    }

    .panel-footer .cta .cta-subtitle {
        margin-bottom: 20px;
    }

    .panel-footer .cta .cta-desc {
        font-size: 18px;
        line-height: calc(4/3);
    }

    .panel-footer .social-links {
        font-size: 26px;
        gap: 16px 32px;
    }

    .panel-footer .main-inner {
        gap: 44px 30px;
    }

    .panel-footer .logo-footer {
        max-width: 360px;
    }

    .panel-footer .enews .title {
        font-size: 32px;
    }

    .panel-footer .cityscape {
        position: absolute;
        inset: auto 0 14px auto;
        width: 1435.8px;
    }

    .panel-footer .cityscape::before {
        position: absolute;
        bottom: 14.4px;
        left: 0;
        transform: translateX(-100%);
        display: block;
        width: 100vw;
        height: 1px;
        background: var(--white);
        content: '';
        pointer-events: none;
    }

    .panel-footer .attributions {
        padding: 14px 30px;
    }

    .panel-footer .copyright {
        font-size: 14px;
    }

    .panel-footer .rights-reserved {
        display: inline;
    }

    .panel-footer .rights-reserved::before {
        content: ' ';
    }

    .panel-footer .made-by-sv img {
        width: 132px;
    }
}

/*=====================================*/
/*=====----- MICROSITE THEME -----=====*/
/*=====================================*/

.theme-microsite .panel-footer .footer-ctas {
    padding-bottom: 4px;
}

.theme-microsite .panel-footer .cta::before {
    background: var(--blue-alt);
}

.theme-microsite .panel-footer .cta .cta-title {
    font-family: var(--font-red-hat);
    font-weight: var(--font-weight-black);
    font-size: 24px;
    line-height: 1.2;
    color: var(--blue-alt);
}

.theme-microsite .panel-footer .cta .cta-subtitle {
    font-family: var(--font-red-hat);
    font-weight: var(--font-weight-medium);
    font-size: 18px;
}

.theme-microsite .panel-footer .main {
    background-color: var(--blue-alt);
}

.theme-microsite .panel-footer .main::after {
    background: rgba(10, 60, 106, .95);
}

.theme-microsite .panel-footer .main-inner > *:first-child {
    margin-top: 30px;
}

.theme-microsite .panel-footer .logo-footer {
    max-width: 246px;
}

.theme-microsite .panel-footer .content-cont {
    padding: 0 40px;
}

.theme-microsite .panel-footer .nav-cont {
    padding: 30px 0 50px;
}

.theme-microsite .panel-footer .cityscape {
    position: absolute;
    inset: auto 0 0 auto;
    z-index: 3;
    width: 100%;
    height: 100%;
    max-width: 319px;
    max-height: 199px;
    margin: 0;
    background: url('/includes/public/assets/shared/convention-center-grid-pattern-white.svg') no-repeat left top / auto 274px;
    opacity: 0.08;
}

@media (hover: hover) {
    .theme-microsite .panel-footer .cta:hover .cta-title {
        color: inherit;
    }
}

@media (min-width: 40em) {
    .theme-microsite .panel-footer .cta-row {
        display: block;
    }

    .theme-microsite .panel-footer .cta-row > * {
        border-bottom: 1px solid var(--black);
        border-right: none;
    }

    .theme-microsite .panel-footer .cta-row > *:last-child {
        border-bottom: none;
    }
}

@media (min-width: 64em) {
    .theme-microsite .panel-footer .cta-row {
        display: grid;
        grid-template: auto / repeat(3, minmax(0, 1fr));
    }

    .theme-microsite .panel-footer .cta-row > * {
        border-right: 1px solid var(--black);
        border-bottom: none;
    }
    
    .theme-microsite .panel-footer .cta-row > *:last-child {
        border-right: none;
    }

    .theme-microsite .panel-footer .main-inner {
        padding-top: 52px;
    }

    .theme-microsite .panel-footer .main-inner > *:first-child {
        margin-top: 0;
    }

    .theme-microsite .panel-footer .content-cont,
    .theme-microsite .panel-footer .nav-cont {
        padding: 0;
    }

    .theme-microsite .panel-footer .cityscape {
        max-width: 617px;
        max-height: 286px;
        background-size: auto 453px;
    }
}

@media (min-width: 80em) {
    .theme-microsite .panel-footer .footer-ctas {
        padding-bottom: 56px;
    }

    .theme-microsite .panel-footer .cta {
        padding: 70px 50px;
    }

    .theme-microsite .panel-footer .cta .cta-title {
        margin-bottom: 30px;
        font-size: 36px;
    }

    .theme-microsite .panel-footer .cta .cta-subtitle {
        margin-bottom: 28px;
        font-size: 26px;
    }

    .theme-microsite .panel-footer .main-inner {
        gap: 18px 30px;
    }

    .theme-microsite .panel-footer .logo-footer {
        max-width: 306px;
    }
}