.tp-btn-1{
    position: relative;
    cursor: pointer;
    border: none;
    height: auto;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    overflow: hidden;
    z-index: 1;   
}
.tp-btn-1 .tp-btn-txt:before{
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    -webkit-transition: -webkit-transform .2s, opacity .2s;
    transition: transform .2s, opacity .2s;
    transition-timing-function: ease, ease;
    -webkit-transition-timing-function: cubic-bezier(.75,0,.125,1);
    transition-timing-function: cubic-bezier(.75,0,.125,1);
    white-space: nowrap;
}
.tp-btn-1 .tp-btn-txt>span{
    white-space: nowrap;
    display: inline-block;
    padding: 0;
    opacity: 0;
    -webkit-transform: translate3d(0, -14px, 0);
    transform: translate3d(0, -14px, 0);
    -webkit-transition: -webkit-transform .2s, opacity .2s;
    transition: transform .2s, opacity .2s;
    transition-timing-function: ease, ease;
    -webkit-transition-timing-function: cubic-bezier(.75,0,.125,1);
    transition-timing-function: cubic-bezier(.75,0,.125,1);
    line-height: normal;    
}
.tp-btn-1:hover {
    -webkit-transform: translateY(0);
    -khtml-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
}
.tp-btn-1:hover .tp-btn-txt:before{
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);    
}
.tp-btn-1:hover .tp-btn-txt span{
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);    
}
.tp-btn-1:not(:hover) .tp-btn-txt>span{
    transition-delay: 0s !important;    
}

.tp-btn-2{
    position: relative;
    display: flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    transition: .25s linear;
    height:var(--tpbu);
    padding-inline: 0 var(--tpbu);
}
.tp-btn-2 .duplicated{
    position: absolute; 
    scale: 0;
    left: 0;
    width:var(--tpbu);
    height:var(--tpbu);
    border-radius: var(--tpbrd);
}
.tp-btn-2 .main{
    position: absolute;
    right: 0;
    top: 0;
    width:var(--tpbu);
    height:var(--tpbu);
    border-radius: var(--tpbrd);
}
.tp-btn-2 .tp-icon{
            align-items: center;
    justify-content: center;
    display:flex;
        transition: inherit;
}
.tp-btn-2 .tp-text{
    border-radius: var(--tpbrd);
    height: 100%; 
        align-items: center;
    justify-content: center;
    display:flex;
}
.tp-btn-2:hover{
    padding-inline: var(--tpbu) 0px;
}
.tp-btn-2:hover .duplicated{
  scale: 1;  
}
.tp-btn-2:hover .main{
    scale: 0; 
}
