// Primary Button .vs-btn { $self: &; position: relative; display: inline-flex; align-items: center; justify-content: center; border: none; text-transform: capitalize; text-align: center; background-color: var(--theme-color); color: var(--white-color); font-family: var(--title-font); font-size: 16px; font-weight: 700; line-height: 1; padding: 17px 30px; border-radius: 0; z-index: 1; overflow: hidden; clip-path: polygon(140% 0, 100% 65%, 95% 100%, 0 100%, 0 0); &::after, &::before { width: 103%; height: 103%; content: ""; margin: auto; position: absolute; top: -2%; left: 0%; background: var(--sec-color); transition: all ease 0.5s; z-index: -1; border-radius: inherit; } &:before { transform: rotateX(90deg); } &:after { transform: rotateY(90deg); } > i { margin-left: 8px; } &.style2 { background-color: var(--smoke-color); color: var(--title-color); &::before, &::after { background-color: var(--title-color); } } &.style4, &.style3 { background-color: $secondary-color; color: $theme-color; } &.style3 { padding: 14px 23.5px; } &.style5 { background-color: #0844bc; color: $white-color; } &.style6 { background-color: $title-color; color: $white-color; &:after, &::before { background-color: $theme-color; } } &.style7 { border-radius: 9999px; text-transform: capitalize; } &.style8 { border: 2px solid $theme-color; color: $theme-color; background-color: transparent; border-radius: 9999px; padding: 17px 28px; text-transform: capitalize; &:after, &:before { display: none; } &:hover { background-color: $theme-color; color: $white-color; } } &.style9 { background-color: $white-color; color: $theme-color; border-radius: 9999px; text-transform: capitalize; } &.style10 { border: 2px solid $white-color; color: $white-color; background-color: transparent; border-radius: 9999px; padding: 17px 28px; text-transform: capitalize; &:hover { border-color: transparent; } } &:hover { color: $white-color; &:before { transform: rotateX(0); } &:after { transform: rotateY(0); } } &.style11 { clip-path: none; display: inline-flex; align-items: center; gap: 5px; padding: 17px 10px; & > i { margin-left: 0; } } &.style12, &.style14, &.style16 { clip-path: none; background: var(--white-color); color: var(--theme-color); position: relative; &::before, &::after { background-color: var(--theme-color); } #{$self}__bar { position: absolute; bottom: 0; right: 0; width: 0px; height: 0px; border-style: solid; border-width: 0 0 15px 15px; border-color: transparent transparent var(--sec-color) transparent; transform: rotate(0deg); @include smooth-transition; } &:hover { color: var(--white-color); #{$self}__bar { border-color: transparent transparent var(--white-color) transparent; } } } &.style13 { background-color: var(--sec-color); padding: 17px 30px; &::before, &::after { background-color: var(--theme-color); } } &.style14 { background-color: var(--sec-color); color: var(--white-color); &::before, &::after { background-color: var(--theme-color); } #{$self}__bar { border-color: transparent transparent var(--white-color) transparent; } } &.style15 { padding: 17px 30px; background-color: var(--sec-color); &::before, &::after { background-color: var(--theme-color); } } &.style16 { background-color: var(--theme-color); color: var(--white-color); &:after, &:before { background-color: var(--sec-color); } } } // Icon Btn .icon-btn { padding: 0; font-size: var(--icon-font-size, 20px); width: var(--icon-size, 56px); height: var(--icon-size, 56px); line-height: 1; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--theme-color); color: var(--white-color); background-color: var(--theme-color); border-radius: 0%; transition: all ease 0.4s; position: relative; z-index: 1; &::before { content: ""; position: absolute; left: var(--border-size, 2px); top: var(--border-size, 2px); right: var(--border-size, 2px); bottom: var(--border-size, 2px); background-color: var(--sec-color); border-radius: inherit; z-index: -1; -webkit-transform: scale(0.5); transform: scale(0.5); -webkit-transition: all ease 0.4s; transition: all ease 0.4s; opacity: 0; visibility: hidden; } &:hover { background-color: var(--theme-color); border-color: transparent; color: var(--white-color); &::before { opacity: 1; visibility: visible; -webkit-transform: scale(1.001); transform: scale(1.001); } } &.style2 { border: 2px solid $white-color; color: $white-color; background-color: transparent; &:hover { background-color: $theme-color; color: $white-color; } } &.style4, &.style3 { --btn-size: 55px; background-color: #f2f6ff; color: $theme-color; border-radius: 5px; &:hover { i { color: var(--white-color); } } } &.style3 { z-index: 1; &::before { z-index: -1; } i { @include smooth-transition; } :hover { color: var(--white-color); & > i { color: var(--white-color); } } } &.style4 { background-color: $white-color; z-index: 1; &::before { z-index: -1; } i { @include smooth-transition; } :hover { color: var(--white-color); & > i { color: var(--white-color); } } } &.style5 { background-color: $white-color; color: $title-color; box-shadow: 0px 10px 24px rgba(0, 0, 0, 0.08); &:hover { background-color: $theme-color; color: $white-color; box-shadow: none; } } &.style6 { background-color: $theme-color; color: $white-color; --btn-size: 55px; --btn-font-size: 17px; } } // Play Button .play-btn { display: inline-block; position: relative; z-index: 1; border: none; background-color: transparent; padding: 0; > i { display: inline-block; width: var(--icon-size, 124px); height: var(--icon-size, 124px); line-height: var(--icon-size, 124px); font-size: var(--icon-font-size, 1.5em); text-align: center; background-color: $theme-color; color: $white-color; border-radius: 50%; z-index: 1; transition: all ease 0.4s; } &:after, &:before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: $theme-color; @extend .ripple-animation; z-index: -1; border-radius: 50%; transition: all ease 0.4s; } &:after { animation-delay: 2s; } &.style3, &.style2 { i { --icon-size: 60px; border-radius: 5px; --icon-font-size: 18px; } } &.style2 { & > i { --icon-size: 120px; --icon-font-size: 48px; border-radius: 0; background-color: var(--theme-color); } &:after, &:before { border-radius: 0px; background-color: var(--theme-color); } &:hover { & > i { background-color: var(--sec-color); } &::before, &::after { background-color: var(--sec-color); } } } &.style3 { i { background-color: rgba(#0e59f2, 0.7); } &:after, &::before { display: none; } } &.style4 { --icon-size: 120px; --icon-font-size: 30px; &:after, &:before, i { background-color: $white-color; color: $theme-color; } } &.style5 { i { border-radius: 0; --icon-size: 120px; --icon-font-size: 30px; } &:after, &:before { border: 2px solid $theme-color; background-color: transparent; border-radius: 0; } } &.style6 { --icon-size: 60px; --icon-font-size: 18px; } &:hover { &:after, &::before, i { background-color: $title-color; color: $white-color; } } } // Link Button .link-btn { font-weight: 500; font-size: 16px; display: inline-block; line-height: 0.8; position: relative; padding-bottom: 2px; margin-bottom: -2px; text-transform: uppercase; i { margin-left: 7px; font-size: 0.9rem; } &:before { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background-color: $theme-color; transition: all ease 0.4s; } &:hover { color: $theme-color; &::before { width: 100%; } } } // Scroll To Top .scroll-btn { position: fixed; bottom: 300px; right: 30px; z-index: 94; opacity: 0; visibility: hidden; display: inline-block; border-radius: 50%; i { display: inline-block; background-color: $theme-color; color: $white-color; text-align: center; font-size: 16px; width: var(--btn-size, 50px); height: var(--btn-size, 50px); line-height: var(--btn-size, 50px); z-index: 2; border-radius: inherit; position: relative; transition: all ease 0.8s; } &:before { content: ""; position: absolute; left: var(--extra-shape, -6px); top: var(--extra-shape, -6px); right: var(--extra-shape, -6px); bottom: var(--extra-shape, -6px); background-color: transparent; border-radius: inherit; z-index: 1; border: 2px dashed var(--theme-color); animation: spin 13s infinite linear; } &:focus, &:hover { i { background-color: var(--sec-color); color: $white-color; } } &.show { bottom: 120px; opacity: 1; visibility: visible; } @include sm { --btn-size: 40px; --extra-shape: -4px; right: 15px; bottom: 50px; &.show { bottom: 15px; } } } .scrollToTop { position: fixed; right: 60px; bottom: 500px; opacity: 0; visibility: hidden; transition: all ease 0.4s; z-index: 96; &.show { bottom: 60px; opacity: 1; visibility: visible; } } @include lg { .play-btn.style4 { --icon-size: 80px; --icon-font-size: 20px; } } @include sm { .play-btn { --icon-size: 60px; } .scrollToTop { right: 20px; &.show { bottom: 20px; } } } .vs-icon { min-width: 50px; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0%; border: 0; color: var(--white-color); font-size: 16px; background-color: var(--sec-color); position: relative; z-index: 1; @include smooth-transition; overflow: hidden; &::before, &::after { border-radius: 0%; position: absolute; content: ""; width: 100%; height: 100%; background-color: var(--title-color); top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0) rotate(360deg); z-index: -1; @include smooth-transition; } &:hover { color: var(--white-color); @include smooth-transition; &::before { transform: translate(-50%, -50%) scale(1) rotate(0deg); background-color: var(--title-color); @include smooth-transition; } } &.style2 { background-color: var(--theme-color); color: var(--white-color); &:hover { &::before, &::after { background-color: var(--sec-color); } } } &.style3 { background-color: var(--smoke-color); color: var(--title-color); &:hover { color: var(--white-color); } @include respond-below(sm) { min-width: 50px; min-height: 50px; } } }