/********************
    Part - before-footer
********************/
.before-footer {
    background : #fff;
}

/********************
    Part - footer
********************/
#footer {
    background : var(--cc-color-text);
    color      : rgba(255, 255, 255, 0.82);
}

.footer-container {
    max-width  : 93.5%;
    margin   : 0 auto;
    overflow : hidden;
    padding  : 0;
}

.site-footer__container {
    padding : 48px 0 64px;
}

.site-footer__grid {
    display               : grid;
    gap                   : 32px;
    grid-template-columns : repeat(2, 1fr);
}

.site-footer__brand {
    min-width : 0;
}

.site-footer__logo {
    filter        : brightness(0) invert(1);
    height        : 32px;
    margin-bottom : 16px;
    width         : auto;
}

.site-footer__description {
    color       : rgba(255, 255, 255, 0.6);
    font-size   : .875rem;
    line-height : 1.75;
    margin      : 0 0 20px;
    max-width   : 640px;
}

.site-footer__socials {
    align-items : center;
    display     : flex;
    gap         : 12px;
}

.site-footer__social-link {
    align-items     : center;
    background      : rgba(255, 255, 255, 0.1);
    border-radius   : 50%;
    color           : #fff;
    display         : inline-flex;
    height          : 36px;
    justify-content : center;
    transition      : background-color .2s ease;
    width           : 36px;
}

.site-footer__social-link:hover {
    background : rgba(255, 255, 255, 0.2);
    color      : #fff;
}

.site-footer__social-link svg {
    display : block;
    height  : 16px;
    width   : 16px;
}

.site-footer__links-wrap {
    min-width : 0;
}

.site-footer__links-wrap .footer-links-list {
    display               : grid;
    gap                   : 32px;
    grid-template-columns : repeat(2, minmax(0, 1fr));
}

.site-footer__links-wrap .c-link-list {
    min-width : 0;
}

.site-footer__links-wrap .c-title {
    margin-bottom : 20px;
}

.site-footer__links-wrap .c-title span {
    color          : #fff;
    font-size      : .875rem;
    font-weight    : 700;
    letter-spacing : .08em;
    text-transform : uppercase;
}

.site-footer__links-wrap .footer-links {
    display    : grid;
    gap        : 12px;
    margin     : 0;
    padding    : 0;
    list-style : none;
}

.site-footer__links-wrap .c-link-item {
    margin-bottom : 0;
}

.site-footer__links-wrap .c-link-item a,
.site-footer__links-wrap .c-link-item span {
    display     : flex;
    font-size   : .875rem;
    color       : rgba(255, 255, 255, 0.6);
    line-height : 1.6;
}

.footer-links li:first-of-type .c-link-item__text {
    color: #fff;
}

.site-footer__links-wrap .c-link-item__inner {
    align-items : flex-start;
    display     : flex;
    gap         : 12px;
    text-decoration : none;
    transition      : opacity .3s ease;
}

.site-footer__links-wrap .c-link-item__icon {
    align-items     : center;
    color           : #d93a2f;
    display         : inline-flex;
    flex            : 0 0 auto;
    height          : 16px;
    justify-content : center;
    margin-top      : 3px;
    width           : 16px;
}

.site-footer__links-wrap .c-link-item__icon svg {
    display : block;
    height  : 100%;
    width   : 100%;
}

.site-footer__links-wrap .c-link-item__icon img {
    display    : block;
    height     : 100%;
    object-fit : contain;
    width      : 100%;
}

.site-footer__links-wrap .c-link-item__content {
    display        : flex;
    flex           : 1 1 auto;
    flex-direction : column;
    gap            : 2px;
    min-width      : 0;
}

.site-footer__links-wrap .c-link-item__text {
    color       : rgba(255, 255, 255, 0.82);
    font-size   : .875rem;
    font-weight : 600;
    line-height : 1.5;
}

.site-footer__links-wrap .c-link-item__subtitle {
    color       : rgba(255, 255, 255, 0.45);
    font-size   : .75rem;
    line-height : 1.4;
}

.site-footer__links-wrap .c-link-item__richtext,
.site-footer__links-wrap .c-link-item__richtext p,
.site-footer__links-wrap .c-link-item__richtext a {
    color       : rgba(255, 255, 255, 0.6);
    font-size   : .875rem;
    line-height : 1.6;
}

.site-footer__links-wrap .c-link-item__richtext > *:first-child {
    margin-top : 0;
}

.site-footer__links-wrap .c-link-item__richtext > *:last-child {
    margin-bottom : 0;
}

.site-footer__links-wrap .c-link-item a:hover {
    color   : #fff;
    opacity : 1;
}

.site-footer__links-wrap .c-link-item a.c-link-item__inner:hover {
    opacity : .8;
}

.site-footer__bottom {
    border-top : 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__bottom-container {
    align-items     : center;
    display         : flex;
    gap             : 12px;
    justify-content : space-between;
    padding         : 20px 0;
}

.site-footer__bottom-container p {
    color      : rgba(255, 255, 255, 0.4);
    font-size  : .75rem;
    line-height: 1.5;
    margin     : 0;
}

.footer-fixed {
    bottom   : 0;
    position : sticky;
}
