.themepure-theme-btn{
    border-radius: 100px;
    padding: 8px 22px;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.03em;
    z-index: 9;
    line-height: 1;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    text-transform: capitalize;
    position: relative;
    background-color: var(--tp-common-black);
    color: var(--tp-common-white);
    border: 2px solid var(--tp-common-black);
    transition: 0.3s;
}

.themepure-theme-btn:hover{
    background-color: var(--tp-common-white);
    border-color: var(--tp-common-black);
    color: var(--tp-common-black);
}
.themepure-theme-btn span{
    display: inline-block;
}
.themepure-theme-btn img{
    object-fit: cover;
}

.themepure-theme-btn-line-effect{
    position: relative;
    background-color: #fff;
    color: var(--tp-common-black);
    border: none;
    border-radius: 0;
    overflow: visible;
    padding: 0 0;
}
.themepure-theme-btn-line-effect:hover{
    background-color: #fff;
    color: var(--tp-common-black);
}

.themepure-theme-btn-line-effect::before,
.themepure-theme-btn-line-effect::after{
    position: absolute;
    bottom: -4px;
    right: 0;
    width: 0;
    height: 1px;
    content: "";
    transition: 0.4s;
    background-color: currentColor;
}
.themepure-theme-btn-line-effect::after{
    right: auto;
    left: 0;
    width: 100%;
    opacity: .3;
}
.themepure-theme-btn-line-effect:hover::before{
    right: auto;
    left: 0;
    width: 100%;
}

.tp-theme-social-btn,
.tp-pdt-meta-social-btn{
    height: 44px;
    width: 44px;
    line-height: 1;
    border-radius: 50%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 9px;
    position: relative;
    transition: 0.3s;
    border: 1px solid rgba(25, 25, 26, 0.14);
}
.tp-theme-social-btn img,
.tp-pdt-meta-social-btn img{
    object-fit: cover;
}

.tp-theme-social-btn:hover,
.tp-pdt-meta-social-btn:hover{
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    color: var(--tp-common-white);
}


/* processing css for loading */
.processing {
    position: relative;
    /* Ensure the element can contain an absolute-positioned child */
}

.processing .block-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.6;
    z-index: 9;
    display: block;
}

.processing .block-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    display: block;
    color: #000;
    font-size: 16px;
}
