@use '../utils' as *;

/*=============================
    00. OffCanvas Menu
===============================*/
.offCanvas {
    &__wrap {
        position: fixed;
        overflow-y: auto;
        top: 0;
        left: 0;
        width: 395px;
        padding: 80px 60px 75px;
        transform: translateX(-100%);
        height: 100%;
        display: block;
        background-color: var(--tg-common-color-white);
        z-index: 1020;
        -webkit-transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
        -moz-transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
        transition: all 600ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
        @include flexbox();
        flex-direction: column;
        -webkit-box-shadow: 16px 0px 32px 0px rgba(0, 0, 0, 0.06);
        box-shadow: 16px 0px 32px 0px rgba(0, 0, 0, 0.06);
        &::-webkit-scrollbar {
            width: 0px;
        }
        @media #{$xl} {
            width: 340px;
            padding: 50px 35px 45px;
        }
        @media #{$xs} {
            width: 320px;
            padding: 50px 25px 40px;
        }
    }
    &__body {
        @include flexbox();
        flex-direction: column;
        flex: 1;
    }
    &__toggle {
        position: absolute;
        top: 30px;
        right: 30px;
        @include transform(rotate(45deg));
        width: 50px;
        height: 50px;
        @include flexbox();
        align-items: center;
        justify-content: center;
        font-size: 24px;
        color: var(--tg-common-color-white);
        @include border-radius(50%);
        background: var(--tg-theme-primary);
        cursor: pointer;
        @include transition(.3s);
        &:hover {
            background: var(--tg-theme-secondary);
        }
        @media #{$xl} {
            top: 20px;
            right: 25px;
            width: 40px;
            height: 40px;
            font-size: 20px;
        }
    }
    &__content {
        & p {
            margin: 0 0;
        }
    }
    &__logo {
        margin: 0 0 25px;
    }
    &__instagram {
        @include flexbox();
        align-items: center;
        flex-wrap: wrap;
        gap: 17px 0;
        margin-left: -8.5px;
        margin-right: -8.5px;
        margin-top: 55px;
        & li {
            width: 33.333%;
            flex: 0 0 33.333%;
            padding-left: 8.5px;
            padding-right: 8.5px;
            & a {
                display: block;
                & img {
                    height: 70px;
                    object-fit: cover;
                    object-position: center;
                }
            }
        }
        @media #{$xl} {
            margin-top: 35px;
        }
    }
    &__contact {
        margin: auto 0 0;
        @media #{$xl} {
            margin: 20px 0 0;
        }
        & .title {
            margin: 0 0 28px;
            font-size: 24px;
            letter-spacing: -.5px;
            @media #{$xl} {
                margin: 0 0 20px;
                font-size: 22px;
            }
        }
        &-list {
            margin: 0 0 73px;
            @media #{$xl} {
                margin: 0 0 30px;
            }
            & li {
                @include flexbox();
                align-items: center;
                gap: 0 20px;
                color: var(--tg-common-color-black);
                margin: 0 0 8px;
                & i {
                    color: #c0bfbf;
                    line-height: 1;
                    width: 16px;
                    flex: 0 0 auto;
                }
                & a {
                    color: var(--tg-common-color-black);
                    &:hover {
                        color: var(--tg-theme-primary)
                    }
                }
            }
        }
    }
    &__social {
        @include flexbox();
        align-items: center;
        flex-wrap: wrap;
        gap: 10px 28px;
        & li {
            line-height: 1;
            & a {
                display: block;
                font-size: 18px;
                color: var(--tg-common-color-black);
                &:hover {
                    color: var(--tg-theme-primary)
                }
            }
        }
    }
    &__overlay {
        position: fixed;
        right: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 99;
        transition: all 700ms ease;
        -moz-transition: all 700ms ease;
        -webkit-transition: all 700ms ease;
        -ms-transition: all 700ms ease;
        -o-transition: all 700ms ease;
        opacity: 0;
        visibility: hidden;
    }
    &__menu-visible {
        & .offCanvas__overlay {
            opacity: 0.6;
            visibility: visible;
        }
        & .offCanvas__wrap {
            transform: translateX(0);
        }
    }
    &__menu-wrapper {
        margin: 50px 0 50px;
        @media #{$xs} {
            margin: 40px 0 40px;
        }
        & ul {
            margin: 0;
            padding: 0;
        }
        & .navigation {
            & li {
                display: block;
                list-style: none;
                position: relative;
                &.menu-item-has-children {
                    & .sub-menu {
                        display: none;
                    }
                }
                & .dropdown-icon {
                    position: absolute;
                    top: 0;
                    right: 0;
                    padding: 14px;
                    cursor: pointer;
                    &.fa-minus {
                        color: var(--tg-theme-primary);
                        &.fa-plus {
                            color: currentColor;
                        }
                    }
                }
                & > a {
                    position: relative;
                    display: block;
                    line-height: 1.35;
                    padding: 10px 40px 10px 0;
                    font-size: 20px;
                    font-weight: 500;
                    color: var(--tg-heading-color);
                    text-transform: capitalize;
                    -webkit-transition: all 500ms ease;
                    -o-transition: all 500ms ease;
                    transition: all 500ms ease;
                    border: none;
                }
                &.active {
                    & > a {
                        color: var(--tg-theme-primary);
                    }
                }
            }
            & > li {
                &  .sub-menu {
                    margin-left: 20px;
                    & li {
                        & a {
                            font-size: 16px;
                            padding: 8px 40px 8px 0;
                        }
                    }
                }
            }
        }
    }
}