@use '../utils' as *; /*============================= 03. Mobile Menu ===============================*/ .tgmobile { &__search { padding: 0 20px 25px 25px; & form { position: relative; } & input { display: block; width: 100%; border: none; padding: 10px 45px 10px 20px; font-size: 15px; height: 45px; background: var(--tg-color-gray-3); @include border-radius(4px); &::placeholder { font-size: 15px; color: var(--tg-body-color); } } & button { position: absolute; top: 50%; @include transform(translateY(-50%)); border: none; padding: 0; right: 20px; line-height: 1; background: transparent; color: var(--tg-heading-color); } } &__menu { position: fixed; right: 0; top: 0; width: 300px; padding-right: 30px; max-width: 100%; height: 100%; z-index: 99; border-radius: 0px; transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); -moz-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); -ms-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); -o-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86); @include transform(translateX(101%)); & .navbar-collapse { display: block !important; } & .nav-logo { position: relative; padding: 30px 25px; text-align: left; & img { max-height: 34px; } } & .navigation { position: relative; display: block; width: 100%; float: none; margin: 0; padding: 0; & li { position: relative; display: block; border-top: 1px solid rgb(0 0 0 / 10%); &.active > a { color: var(--tg-theme-primary); } &.menu-item-has-children .dropdown-btn { position: absolute; right: 20px; top: 6px; width: 32px; height: 32px; text-align: center; font-size: 16px; line-height: 32px; color: var(--tg-heading-color); background: var(--tg-color-gray-3); cursor: pointer; border-radius: 2px; -webkit-transition: all 500ms ease; -o-transition: all 500ms ease; transition: all 500ms ease; z-index: 5; & .plus-line { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(0); -ms-transform: translate(-50%, -50%) rotate(0); transform: translate(-50%, -50%) rotate(0); border-radius: 10px; width: 12px; height: 2px; background-color: var(--tg-color-black-1); -webkit-transition: all 500ms ease; -o-transition: all 500ms ease; transition: all 500ms ease; &::after { content: ""; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%) rotate(0); -ms-transform: translate(-50%, -50%) rotate(0); transform: translate(-50%, -50%) rotate(0); border-radius: 10px; width: 2px; height: 12px; background-color: var(--tg-color-black-1); -webkit-transition: all 500ms ease; -o-transition: all 500ms ease; transition: all 500ms ease; } } &.open { background-color: var(--tg-theme-primary); & .plus-line { background-color: var(--tg-color-white-default); &::after { display: none; } } } } & > a { position: relative; display: block; line-height: 1.5; padding: 10px 60px 10px 25px; font-size: 16px; 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; &::before { content: ''; position: absolute; left: 0; top: 0; height: 0; -webkit-transition: all 500ms ease; -o-transition: all 500ms ease; transition: all 500ms ease; width: 2px; background: var(--tg-theme-primary); pointer-events: none; } } & ul li { & > a { margin-left: 20px; } & ul li { & a { margin-left: 40px; } & ul li { & a { margin-left: 60px; } } } } & > ul { display: none; & > li > ul { display: none; } } } & ul { padding: 0; margin: 0; & li { & a { display: block; } & ul { & li { & > a { font-size: 16px; margin-left: 20px; text-transform: capitalize; } } } } } &:last-child { border-bottom: 1px solid rgb(0 0 0 / 10%); } & > li > ul > li:first-child { border-top: 1px solid rgb(0 0 0 / 10%); } & > li { &.active > a { &::before { height: 100%; } } } } & .close-btn { position: absolute; right: 15px; top: 28px; line-height: 30px; width: 35px; text-align: center; font-size: 20px; color: var(--tg-theme-primary); cursor: pointer; z-index: 10; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; & i[class^="flaticon-"]:before { font-weight: var(--tg-fw-bold) !important; } } &-backdrop { position: fixed; right: 0; top: 0; width: 100%; height: 100%; z-index: 2; 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; background: rgba(0, 0, 0, 0.5); } & .tgmenu__action { padding: 0 0; margin: 0 0; & > ul { margin: 0 0; padding: 30px 20px 0; justify-content: center; gap: 0 15px; & li { margin: 0 0; } & .header-btn { display: block; } } } } &__menu-box { position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; max-height: 100%; overflow-y: auto; overflow-x: hidden; background: var(--tg-color-white-default); padding: 0px 0px; z-index: 5; box-shadow: -9px 0 14px 0px rgb(0 0 0 / 6%); @include flexbox(); flex-direction: column; } &__menu-bottom { padding: 30px 25px 25px; margin-top: auto; & .contact-info { & .list-wrap { & li { & a { color: var(--tg-theme-secondary); display: inline-block; font-weight: 500; margin-bottom: 5px; &:hover { color: var(--tg-theme-primary); } } } } } & .social-links ul { @include flexbox(); position: relative; text-align: center; align-items: center; flex-wrap: wrap; padding: 15px 0 0; gap: 15px; & li { position: relative; display: inline-block; & a { @include flexbox(); align-items: center; justify-content: center; position: relative; font-size: 18px; color: var(--tg-theme-secondary); -webkit-transition: all 500ms ease; -o-transition: all 500ms ease; transition: all 500ms ease; &:hover { color: var(--tg-theme-primary); } } } } } &__menu-outer { & .mobile-nav-toggler { position: relative; float: right; font-size: 40px; line-height: 50px; cursor: pointer; display: none; color: var(--tg-color-white-default); margin-right: 30px; top: 15px; @media #{$md} { display: block !important; } } } } .mobile-menu-visible { overflow: hidden; & .tgmobile__menu { @include transform(translateX(0%)); &-backdrop { opacity: 1; visibility: visible; } & .close-btn { @include transform(rotate(360deg)); } } }