/* Footer Component - BEM Structure */

/* Block: footer */

.footer {

    background-color: #0000000A
}

html.dark .footer {

    --tw-bg-opacity: 1;

    background-color: rgb(18 26 37 / var(--tw-bg-opacity, 1))
}

/* Element: footer__container */

.footer__container {

    width: 100%
}

@media (min-width: 1200px) {

    .footer__container {

        max-width: 1200px
    }
}

.footer__container {

    margin-left: auto;

    margin-right: auto;

    width: calc(100% - var(--horizontal-edge-space));

    padding-top: 48px;

    padding-bottom: 48px
}

/* Element: footer__top */

.footer__top {

    display: flex;

    max-width: 282px;

    flex-direction: column;

    justify-content: space-between;

    gap: 48px
}

@media (min-width: 768px) {

    .footer__top {

        max-width: -moz-max-content;

        max-width: max-content;

        flex-direction: row
    }
}

/* Element: footer__brand */

.footer__brand {

    width: 282px
}

.footer__brand-logo {

    display: block;

    --tw-text-opacity: 1;

    color: rgb(119 119 119 / var(--tw-text-opacity, 1))
}

html.dark .footer__brand-logo {

    display: block;

    --tw-text-opacity: 1;

    color: rgb(89 103 119 / var(--tw-text-opacity, 1))
}

.footer__brand-description {

    margin-top: 1.25rem;

    font-size: 15px;

    line-height: 140%;

    color: #00000099
}

html.dark .footer__brand-description {

    --tw-text-opacity: 1;

    color: rgb(89 103 119 / var(--tw-text-opacity, 1))
}

/* Element: footer__nav */

.footer__nav {

    display: flex;

    flex-direction: column;

    gap: 2rem
}

@media (min-width: 768px) {

    .footer__nav {

        flex-direction: row;

        gap: 48px
    }
}

/* Element: footer__nav-column */

.footer__nav-column {

    width: 180px
}

/* Element: footer__nav-group */

.footer__nav-group {

    margin-bottom: 2rem
}

@media (min-width: 768px) {

    .footer__nav-group {

        margin-bottom: 2.5rem
    }
}

/* Element: footer__nav-list */

.footer__nav-list {

    margin-top: 1rem
}

.footer__nav-list > :not([hidden]) ~ :not([hidden]) {

    --tw-space-y-reverse: 0;

    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));

    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.footer__nav-column.is-social-media .footer__nav-list {

    margin-top: 0px;

    display: flex;

    flex-direction: row-reverse;

    justify-content: flex-end;

    gap: 1.25rem
}

.footer__nav-column.is-social-media .footer__nav-list > :not([hidden]) ~ :not([hidden]) {

    --tw-space-y-reverse: 0;

    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));

    margin-bottom: calc(0px * var(--tw-space-y-reverse))
}

@media (min-width: 768px) {

    .footer__nav-column.is-social-media .footer__nav-list {

        margin-top: 1rem;

        flex-direction: column;

        gap: 0px
    }

    .footer__nav-column.is-social-media .footer__nav-list > :not([hidden]) ~ :not([hidden]) {

        --tw-space-y-reverse: 0;

        margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));

        margin-bottom: calc(1rem * var(--tw-space-y-reverse))
    }
}

.footer__nav-list + .footer__nav-list {

    margin-top: 2rem
}

@media (min-width: 768px) {

    .footer__nav-list + .footer__nav-list {

        margin-top: 2.5rem
    }
}

/* Element: footer__nav-title */

.footer__nav-title {

    font-size: 11px;

    font-weight: 500;

    text-transform: uppercase;

    line-height: 140%;

    letter-spacing: 0.12em;

    color: #00000099
}

.footer__nav-column.is-social-media .footer__nav-title {

    display: none
}

@media (min-width: 768px) {

    .footer__nav-column.is-social-media .footer__nav-title {

        display: block
    }
}

html.dark .footer__nav-title {

    --tw-text-opacity: 1;

    color: rgb(89 103 119 / var(--tw-text-opacity, 1))
}

/* Element: footer__nav-item */

.footer__nav-item, .footer .menu-item {

    font-size: 15px;

    line-height: 140%;

    --tw-text-opacity: 1;

    color: rgb(85 85 85 / var(--tw-text-opacity, 1));

    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 300ms;

    transition-timing-function: cubic-bezier(0, 0, 0.2, 1)
}

.footer__nav-item:hover, .footer .menu-item:hover {

    --tw-text-opacity: 1;

    color: rgb(255 56 92 / var(--tw-text-opacity, 1))
}

html.dark .footer__nav-item, html.dark .footer .menu-item {

    --tw-text-opacity: 1;

    color: rgb(170 170 170 / var(--tw-text-opacity, 1))
}

/* Element: footer__nav-link */

.footer__nav-link {

    display: flex;

    align-items: center;

    gap: 7px
}

/* Element: footer__nav-icon */

.footer__nav-icon {

    display: block
}

.footer__nav-icon path {

    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 300ms;

    transition-timing-function: cubic-bezier(0, 0, 0.2, 1)
}

.footer__nav-item:hover .footer__nav-icon path {

    fill: #FF385C
}

html.dark .footer__nav-icon path {

    fill: #AAAAAAAD
}

.footer__nav-column.is-social-media .footer__nav-icon {

    width: 1.5rem;

    height: 1.5rem
}

@media (min-width: 768px) {

    .footer__nav-column.is-social-media .footer__nav-icon {

        width: 1rem;

        height: 1rem
    }
}

.footer__nav-column.is-social-media .footer__nav-text {

    display: none
}

@media (min-width: 768px) {

    .footer__nav-column.is-social-media .footer__nav-text {

        display: inline
    }
}

/* Element: footer__bottom */

.footer__bottom {

    margin-top: 3rem;

    display: flex;

    flex-direction: column-reverse;

    align-items: flex-start;

    justify-content: space-between;

    gap: 0.75rem;

    padding-top: 19px
}

@media (min-width: 768px) {

    .footer__bottom {

        margin-top: 60px;

        flex-direction: row;

        align-items: flex-end;

        border-top-width: 1px;

        border-color: #0000001A
    }
}

.footer__bottom--dark {

    border-color: rgb(255 255 255 / 0.1)
}

/* Element: footer__copyright */

.footer__copyright {

    font-size: 13px;

    line-height: 140%;

    color: #777777B2
}

@media (min-width: 768px) {

    .footer__copyright {

        font-size: 14px
    }
}

html.dark .footer__copyright {

    --tw-text-opacity: 1;

    color: rgb(51 64 83 / var(--tw-text-opacity, 1))
}

/* Element: footer__legal */

.footer__legal {

    display: flex;

    align-items: center;

    gap: 1rem
}

/* Element: footer__legal-item */

.footer__legal-item {

    font-size: 13px;

    line-height: 140%;

    --tw-text-opacity: 1;

    color: rgb(119 119 119 / var(--tw-text-opacity, 1));

    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;

    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    transition-duration: 300ms;

    transition-timing-function: cubic-bezier(0, 0, 0.2, 1)
}

@media (min-width: 768px) {

    .footer__legal-item {

        font-size: 14px
    }
}

.footer__legal-item:hover {

    --tw-text-opacity: 1;

    color: rgb(255 56 92 / var(--tw-text-opacity, 1))
}

html.dark .footer__legal-item {

    --tw-text-opacity: 1;

    color: rgb(119 119 119 / var(--tw-text-opacity, 1))
}

/* Element: footer__copyright-break */

@media (min-width: 768px) {

    .footer__copyright-break {

        display: none
    }
}

