.wdt-button-holder { display: inline-flex; position: relative; -webkit-transition: var(--wdtAltTransition); transition: var(--wdtAltTransition); }
.wdt-button { border: 1px solid transparent; display: inline-flex; align-items: stretch; font-size: 1em; letter-spacing: 0; line-height: normal; margin: 0; overflow: visible; position: relative; z-index: 0; text-decoration: none; text-transform: none; -webkit-transition: var(--wdtAltTransition); transition: var(--wdtAltTransition); }

.wdt-button, .wdt-button-holder .wdt-button { background-color: var(--wdt-elementor-color-accent); 
    color: var(--wdt-elementor-color-white); text-transform: capitalize; justify-content: center; text-align: center; 
    border-radius: var(--wdtRadius_Zero, 0px); }

.wdt-dark-bg .wdt-button, .wdt-dark-bg .wdt-button-holder .wdt-button{ background-color: var(--wdt-elementor-color-white); color: var(--wdtPrimaryColor); }
.wdt-dark-bg .wdt-button:hover, .wdt-dark-bg .wdt-button-holder .wdt-button:hover{ background-color: var(--wdtSecondaryColor); color: var(--wdt-elementor-color-white); }
.wdt-dark-bg .wdt-button-holder.wdt-template-classic .wdt-button:before { background: var(--wdtSecondaryColor); }
.wdt-dark-bg .wdt-button-holder.wdt-template-classic .wdt-button:after { background: var(--wdt-elementor-color-white); }

.wdt-button:hover, .wdt-button-holder .wdt-button:hover { 
    background-color: var(--wdtLinkHoverColor, var(--wdt-elementor-color-primary)); color: var(--wdt-elementor-color-white); }



.wdt-button .wdt-button-text, 
.wdt-button .wdt-button-icon { vertical-align: top; }

.wdt-button .wdt-button-text { display: inline-grid; align-content: center; text-align: left; gap: 10px; height: 100%; }
.wdt-button .wdt-button-icon { display: inline-flex; line-height: 0; transition: var(--wdtAltTransition) }
.wdt-button .wdt-button-icon span { display: inherit; align-items: center; -webkit-transition: inherit; transition: inherit; position: relative; width: 1rem; height: 1rem; align-items: center; justify-content: center; border-radius: var(--wdtRadius_Zero, 0px); color: currentColor;}

.wdt-button .wdt-button-text .wdt-button-subtext { display: block; font-size: 0.75em; margin-top: -2px; }

.wdt-button-holder.wdt-button-size-sm .wdt-button { font-size: 14px; padding: var(--wdtPadding_MiniBtn); font-family: var(--wdtFontTypo_Alt); font-weight: var(--wdtFontWeight_Base); line-height: 1; text-transform: capitalize; }
.wdt-button-holder.wdt-button-size-nm .wdt-button { font-size: 16px; padding: var(--wdtPadding_Btn); font-family: var(--wdtFontTypo_Alt); font-weight: var(--wdtFontWeight_Base); line-height: var(--wdtLineHeight_Ext);}
.wdt-button-holder.wdt-button-size-lg .wdt-button { font-size: 18px; padding: var(--wdtPadding_MaxiBtn); font-family: var(--wdtFontTypo_Alt); line-height: 1; }

.elementor-align-justify .wdt-button-holder, .elementor-align-justify .wdt-button-holder .wdt-button { width: 100%; }

.wdt-button-holder.wdt-button-icon-before .wdt-button .wdt-button-icon { margin-right: 10px; }
.wdt-button-holder.wdt-button-icon-after .wdt-button .wdt-button-icon { margin-left: 10px; }

/* Styles */
.wdt-button-holder.wdt-button-style-underline:before, 
.wdt-button-holder.wdt-button-style-overline:before,
.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span:before { 
    content: ""; display: inline !important; height: 1px; pointer-events: none; position: absolute; bottom: 0; left: 0; right: 0; top: 0; 
    width: auto; -webkit-transition: inherit; transition: inherit; }

.wdt-button-holder.wdt-button-style-underline .wdt-button { margin-bottom: 3px; }
.wdt-button-holder.wdt-button-style-underline:before { bottom: 0; top: auto; }

.wdt-button-holder.wdt-button-style-overline .wdt-button { margin-top: 3px; }
.wdt-button-holder.wdt-button-style-overline:before { bottom: auto; top: 0; }

.wdt-button-holder.wdt-button-style-underline:before, 
.wdt-button-holder.wdt-button-style-overline:before { color: var(--wdt-elementor-color-accent); background-color: currentColor; background-image: inherit; }

.wdt-button-holder.wdt-button-style-underline:focus:before,
.wdt-button-holder.wdt-button-style-underline:hover:before, 
.wdt-button-holder.wdt-button-style-overline:focus:before,
.wdt-button-holder.wdt-button-style-overline:hover:before { color: var(--wdt-elementor-color-primary); background-color: currentColor; background-image: inherit; }

.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span { position: relative; }
.wdt-button-holder.wdt-button-style-line-through .wdt-button .wdt-button-text > span:before { background-color: currentColor; margin: auto; -webkit-transform: translateY(100%); transform: translateY(100%); }


/* Template - Bordered */
.wdt-button-holder.wdt-template-bordered .wdt-button { background: transparent; border-color: currentColor; border-width: 1px; border-style: solid;}
.wdt-button-holder.wdt-template-bordered .wdt-button:before{background-color: var(--wdtPrimaryColor) !important;}

.wdt-button-holder.wdt-template-bordered .wdt-button:not(:focus), 
.wdt-button-holder.wdt-template-bordered .wdt-button:not(:hover) { color: var(--wdtHeadAltColor); }



.wdt-button-holder.wdt-template-bordered .wdt-button:focus, 
.wdt-button-holder.wdt-template-bordered .wdt-button:hover {    color: var(--wdt-elementor-color-white); background: var(--wdtLinkHoverColor); border-color: transparent;}

.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:not(:focus), 
.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:not(:hover) { color: var(--wdt-elementor-color-white); }

.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:focus, 
.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:hover {color: var(--wdt-elementor-color-white);background: var(--wdtLinkHoverColor);border-color: var(--wdtLinkHoverColor);}
.wdt-button-holder.wdt-template-bordered .wdt-button:hover:after{background-color: var(--wdt-elementor-color-white, var(--wdtAccentTxtColor));}
.wdt-dark-bg .wdt-button-holder.wdt-template-bordered .wdt-button:hover::after{background-color: var((--wdtLinkHoverColor));}

/* Template - Textual */
.wdt-button-holder.wdt-template-textual .wdt-button { border-width: 0; padding: 0; border-radius: var(--wdtRadius_Zero); position: relative; }

.wdt-button-holder.wdt-template-textual .wdt-button:not(:focus), 
.wdt-button-holder.wdt-template-textual .wdt-button:not(:hover) { background: none !important; border-width: 0; color: var(--wdt-elementor-color-accent); padding: 0; }

.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:not(:focus), 
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:not(:hover) { color: var(--wdt-elementor-color-white); }
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:focus, 
.wdt-dark-bg .wdt-button-holder.wdt-template-textual .wdt-button:hover { color: var(--wdtLinkHoverColor); }

.wdt-button-holder.wdt-template-textual .wdt-button:focus, 
.wdt-button-holder.wdt-template-textual .wdt-button:hover { background: none; border-width: 0; color: var(--wdtLinkHoverColor);-webkit-box-shadow: none; box-shadow: none; }

.wdt-button-holder.wdt-template-textual .wdt-button::before { 
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: var(--wdtBaseTransition);
    transform: translateX(0);
    will-change: transform; }
.wdt-button-holder.wdt-template-textual .wdt-button:hover::before{ width: 0%; }
/** 
    * Template - Classic
    * Recently Added for Button Animation
*/

.wdt-button-holder.wdt-template-classic .wdt-button { overflow: hidden; position: relative; border: none; 
    will-change: transform; perspective: 1000px; transform-style: preserve-3d; }

.wdt-button-holder.wdt-template-classic .wdt-button:before { content: ""; position: absolute; right: 2px; bottom: 2px; 
    -webkit-transform: scale(1); transform: scale(1); width: 1em; height: 1em; 
    -webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    background: var(--wdtTertiaryColor); z-index: -1; -webkit-transition: .3s ease; transition: .3s ease; }

.wdt-button-holder.wdt-template-classic .wdt-button:after { content: ""; position: absolute; right: 2px; bottom: 2px; 
    -webkit-transform: translate(10px, 10px); transform: translate(10px, 10px); width: 1em; height: 1em; 
    -webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    background: var(--wdt-elementor-color-accent); opacity: 0; -webkit-transition: .3s ease; transition: .3s ease; }

.wdt-button-holder.wdt-template-classic:not(.button-animation) .wdt-button:hover:before,
.wdt-button-holder.wdt-template-classic:not(.button-animation) .wdt-button:focus:before{ opacity: 0; visibility: hidden; color: currentColor; }
.wdt-button-holder.wdt-template-classic .wdt-button:hover:after { opacity: 1; -webkit-transform: translate(0px, 0px); transform: translate(0px, 0px); }

.wdt-button-holder.wdt-template-classic.button-animation .wdt-button:hover{ color: var(--wdt-elementor-color-white);
    background-color: var(--wdt-elementor-color-accent); }
.wdt-dark-bg .wdt-button-holder.wdt-template-classic.button-animation .wdt-button:hover {color: var(--wdt-elementor-color-white); background-color: var(--wdtSecondaryColor);}    

.wdt-button-holder.wdt-template-classic.button-animation .wdt-button:hover:before,
.wdt-button-holder.wdt-template-classic.button-animation .wdt-button:focus:before { right: 0; bottom: 0; width: 100%; height: 100%;
    -webkit-clip-path: polygon(100% 0%, 0% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 0%, 0% 100%, 100% 100%); 
    -webkit-transform: scale(1.2); transform: scale(1.2); }

/* ---  */
.wdt-button-holder .wdt-button { overflow: hidden; position: relative; border: none; 
    will-change: transform; perspective: 1000px; transform-style: preserve-3d; }
.wdt-button-holder.wdt-template-textual .wdt-button { overflow: visible; position: relative; }    

.wdt-button-holder:not(.wdt-template-textual) .wdt-button:before { content: ""; position: absolute; right: 2px; bottom: 2px; 
    -webkit-transform: scale(1); transform: scale(1); width: 1em; height: 1em; 
    -webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    background: var(--wdtLinkHoverColor); z-index: -1; -webkit-transition: .3s ease; transition: .3s ease; }

.wdt-dark-bg .wdt-button-holder:not(.wdt-template-textual) .wdt-button:before{background-color: var(--wdtSecondaryColor) !important;}

.wdt-button-holder:not(.wdt-template-textual) .wdt-button:after { content: ""; position: absolute; right: 2px; bottom: 2px; 
    -webkit-transform: translate(10px, 10px); transform: translate(10px, 10px); width: 1em; height: 1em; 
    -webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    background: var(--wdt-elementor-color-accent); opacity: 0; -webkit-transition: .3s ease; transition: .3s ease; }

.wdt-button-holder:not(.button-animation,.wdt-template-textual) .wdt-button:hover:before,
.wdt-button-holder:not(.button-animation,.wdt-template-textual) .wdt-button:focus:before{ opacity: 0; visibility: hidden; color: currentColor; }
.wdt-button-holder:not(.wdt-template-textual)  .wdt-button:hover:after { opacity: 1; -webkit-transform: translate(0px, 0px); transform: translate(0px, 0px); }
.wdt-dark-bg .wdt-button-holder:not(.wdt-template-textual)  .wdt-button:hover:after { background-color: var(--wdt-elementor-color-white); }
.wdt-button-holder .button-animation .wdt-button:hover{ color: var(--wdt-elementor-color-accent);
    background-color: var(--wdt-elementor-color-accent); }
.wdt-dark-bg .wdt-button-holder .button-animation .wdt-button:hover {color: var(--wdt-elementor-color-white); background-color: var(--wdtSecondaryColor);}    

.wdt-button-holder .button-animation .wdt-button:hover:before,
.wdt-button-holder .button-animation .wdt-button:focus:before { right: 0; bottom: 0; width: 100%; height: 100%;
    -webkit-clip-path: polygon(100% 0%, 0% 0%, 0% 100%, 100% 100%); clip-path: polygon(100% 0%, 0% 0%, 0% 100%, 100% 100%); 
    -webkit-transform: scale(1.2); transform: scale(1.2); }