.premiumvisual_elementor_addon_Buttons{
    text-align: left;
}
.premiumvisual_elementor_addon_Buttons .button-container{
    cursor:pointer;
    outline: none;
    text-align: center;
    vertical-align: middle;
    background: transparent;
    display: inline-block;
    font-weight: 600;
    position: relative;
}
.premiumvisual_elementor_addon_Buttons .button-animate{
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    -ms-transition: all 0.7s ease;
    transition: all 0.7s ease;	
  }
  .premiumvisual_elementor_addon_Buttons .button-container .button-icon-left{ 
     position: relative;
      float: left;
      vertical-align: middle;
      margin: 3px  -9px 0px 17px;
      display: inline;
  }
   .premiumvisual_elementor_addon_Buttons .button-container .button-icon-right{ 
    position: relative;
     float: right;
     vertical-align: middle;
     margin: 3px  17px 0px -9px;
     display: inline;
 }
.premiumvisual_elementor_addon_Buttons .button_label { 
    position: relative;
    display: block;
    margin: 0px  17px 0px 17px;
    display: inline;
	color: #cccccc;
}

 .premiumvisual_elementor_addon_Buttons .custom-btn { 
    margin: 0 auto; 
    text-align: center;
    vertical-align: middle;   
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    border: 1px solid #000;
    min-height: 50px;
}

/******************/
/* button-style-1 */
/******************/
.button-style-1{
	min-width: 150px;
    border: 2px solid #111111; 
    color: #222222;  font-size: 16px; font-weight: bold; line-height: 20px; text-decoration: none;
    margin: auto; padding: 10px 7px 10px 27px; display: inline-block; position: relative; 
}
.button-style-1 .button_label, .button-style-1 .button_icon-arrow { backface-visibility: hidden; transform: translateZ(0); perspective: 1000; }
.button-style-1 .button_label { color: #222222; display: inline-block; transition: transform .5s cubic-bezier(0.86, 0, 0.07, 1); font-size: 15px; }
.button-style-1 .button_icon-arrow { 
    fill: #222222; 
    width: 35px; height: auto; top: 51%; transform: translateY(-50%); position: absolute; 
    transition: transform .5s cubic-bezier(0.86, 0, 0.07, 1), opacity .4s cubic-bezier(0.86, 0, 0.07, 1); 
}
.button-style-1 .button_icon-arrow.before { left: 0px; margin-right: 10px; position: absolute; transform-origin: left center; }
.button-style-1 .button_icon-arrow.after { margin-left: 10px; opacity: 0; position: absolute; right: 0px; transform: translate(75%, -50%) scaleX(0.1); transform-origin: right center; }
.button-style-1:hover .button_label { color: #cccccc; }
.button-style-1:hover{ border-color: #cccccc; }
.button-style-1:hover li { color: #cccccc;  }
.button-style-1:hover svg path { stroke: #777777; fill: #777777; }
.button-style-1:hover .button_label { transform: translateX(-22px); }
.button-style-1:hover .button_icon-arrow.before { opacity: 0; transform: translate(-75%, -50%) scaleX(0.1); }
.button-style-1:hover .button_icon-arrow.after { color: #cccccc; opacity: 1; transform: translate(0, -50%) scaleX(1); }

/******************/
/* button-style-2 */
/******************/

.button-style-2:after { position: absolute; content: ""; top: 12.5%; bottom: 12.5%; left: 2.5%; right: 2.5%; width: 95%; height: 75%; border: 1px solid #000; opacity: 0; transition: all 0.3s ease; }
.button-style-2:hover:after { opacity: 1; }
.button-style-2{ min-width: 150px; } 
/******************/
/* button-style-3 */
/******************/
.button-style-3 {min-width: 150px; line-height: 39px; padding: 0; min-width: 150px;}
.button-style-3:hover{ background: transparent; color: #000; }
.button-style-3 span { position: relative; display: block; width: 100%; height: 100%; }
.button-style-3:before,
.button-style-3:after { position: absolute; content: ""; left: 0; top: 0; background: #000; transition: all 0.3s ease; }
.button-style-3:before { height: 0%; width: 2px; }
.button-style-3:after { width: 0%; height: 2px; }
.button-style-3:hover:before { height: 100%; }
.button-style-3:hover:after { width: 100%; }

.button-style-3 .button-line-effect {min-width: 150px; width: 100%; height: 100%; }
.button-style-3 .button-line-effect:before,
.button-style-3 .button-line-effect:after { position: absolute; content: ""; right: 0; bottom: 0; background: #000; transition: all 0.3s ease; }
.button-style-3 .button-line-effect:before { width: 2px; height: 0%; }
.button-style-3 .button-line-effect:after { width: 0%; height: 2px; }
.button-style-3:hover .button-line-effect:before { height: 100%; }
.button-style-3:hover .button-line-effect:after { width: 100%; }

/******************/
/* button-style-4 */
/******************/
.button-style-4 {min-width: 150px; position: relative; color: #000; z-index: 2; line-height: 40px; padding: 0; min-width: 150px; }
.button-style-4:hover{ border: none; }
.button-style-4:before,
.button-style-4:after { position: absolute; content: ""; width: 0%; height: 0%; border: 2px solid; z-index: -1; transition: all 0.3s ease; opacity: 0;}
.button-style-4:before { top: 0;  left: 0;  border-bottom-color: transparent;  border-right-color: transparent;  border-top-color: #000;  border-left-color: #000; opacity: 0; }
.button-style-4:after{  bottom: 0;  right: 0;  border-top-color: transparent;  border-left-color: transparent;  border-bottom-color: #000;  border-right-color: #000; }
.button-style-4:hover:before,.button-style-4:hover:after { border-color: #000; height: 100%; width: 100%; opacity: 1;}

/******************/
/* button-style-5 */
/******************/
.button-style-5 {min-width: 150px; background: #000; color: #fff; line-height: 42px; padding: 0; border: none; }
.button-style-5:hover { background: transparent; color: #000;  box-shadow:  -7px -7px 20px 0px #fff9,  -4px -4px 5px 0px #fff9,  7px 7px 20px 0px #0002,  4px 4px 5px 0px #0001; }
.button-style-5:before,
.button-style-5:after{ content:''; position:absolute; top:0; right:0; height:2px; width:0; background: #000; transition:400ms ease all; }
.button-style-5:after{ right:inherit; top:inherit; left:0; bottom:0; }
.button-style-5:hover:before,
.button-style-5:hover:after{ width:100%; transition:800ms ease all; }

/******************/
/* button-style-6 */
/******************/
.button-style-6 { min-width: 150px; background: #000; color: #fff; line-height: 42px; padding: 0; border: none; }
.button-style-6 span { position: relative; display: block; width: 100%; height: 100%; }

.button-style-6:hover{ color: #000; background: transparent; }

.button-style-6 .button-line-effect { width: 100%; height: 100%; }
.button-style-6 .button-line-effect:before, .button-style-6 .button-line-effect:after { position: absolute; content: ""; border: solid 1px #000; height: 0px;  }
.button-style-6 .button-line-effect:before{ right: 0; top: 0;  transition: all 500ms ease; }
.button-style-6 .button-line-effect:after { left: 0; bottom: 0; transition: all 500ms ease; }
.button-style-6 .button-line-effect:hover:before{ transition: all 500ms ease; height: 100%;}
.button-style-6 .button-line-effect:hover:after {  transition: all 500ms ease; height: 100%;}

.button-style-6:before, .button-style-6:after { position: absolute; content: ""; border: solid 2px #000; }
.button-style-6:before { left: 0; top: 0; width: 0%; height: 2px; transition: all 500ms ease; }
.button-style-6:after { right: 0; bottom: 0; width: 0%; height: 2px; transition: all 500ms ease; }
.button-style-6:hover:before { width: 100%;}
.button-style-6:hover:after { width: 100%;  }
.button-style-6 .button_label {  }

/******************/
/* button-style-7 */
/******************/
.button-style-7 { min-width: 150px; background: #000; color: #fff; line-height: 42px; padding: 0; border: none; z-index: 1;  -webkit-transition: all 0.3s linear; transition: all 0.3s linear; }
.button-style-7:before,.button-style-7:after { position: absolute; content: ""; left: 0; width: 100%; height: 50%; right: 0; z-index: -1; background: #000; transition: all 0.3s ease; }
.button-style-7:before { top: 0; }
.button-style-7:after { bottom: 0; }
.button-style-7:hover { background: transparent; color: #000; }
.button-style-7:hover:before, .button-style-7:hover:after { height: 0; background-color: #000; }
/******************/
/* button-style-8 */
/******************/
.button-style-8 { min-width: 150px; line-height: 40px; padding: 0; background: transparent; position: relative; z-index: 2; color: #fff; -webkit-perspective: 300px; perspective: 300px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; background: #000;}
.button-style-8:hover{ color: #000; }
.button-style-8:after { position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%;  z-index: -1; 
  -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-transform: rotateX(0); transform: rotateX(0); transition: all 0.3s ease; background: transparent; }
.button-style-8:hover:after { -webkit-transform: rotateX(-180deg); transform: rotateX(-180deg); background: #000;} 

/******************/
/* button-style-9 */
/******************/
.button-style-9 { z-index: 2; transition: all 0.3s ease; overflow: hidden; min-width: 150px;}
.button-style-9:after { position: absolute; content: " "; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; transition: all 0.3s ease; }
.button-style-9:hover { box-shadow:  4px 4px 6px 0 rgba(255,255,255,.5),  -4px -4px 6px 0 rgba(116, 125, 136, .2),    
  inset -4px -4px 6px 0 rgba(255,255,255,.5),   inset 4px 4px 6px 0 rgba(116, 125, 136, .3); color: #fff; }
.button-style-9:hover:after { -webkit-transform: scale(2) rotate(180deg); transform: scale(2) rotate(180deg); background: #000; box-shadow:  4px 4px 6px 0 rgba(255,255,255,.5),
  -4px -4px 6px 0 rgba(116, 125, 136, .2),    inset -4px -4px 6px 0 rgba(255,255,255,.5),   inset 4px 4px 6px 0 rgba(116, 125, 136, .3); }

/*******************/
/* button-style-10 */
/*******************/
.button-style-10 { transition: all 0.3s ease; overflow: hidden; min-width: 150px;}
.button-style-10:after { position: absolute; content: " "; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; transition: all 0.3s ease; -webkit-transform: scale(.1); transform: scale(.1); }
.button-style-10:hover { color: #fff; }
.button-style-10:hover:after { background: #000; -webkit-transform: scale(1); transform: scale(1); }

/*******************/
/* button-style-11 */
/*******************/
.button-style-11 { overflow: hidden; transition: all 0.3s ease; min-width: 150px;}
.button-style-11:hover {  background: #000; color: #fff; }
.button-style-11:before {   position: absolute;   content: '';   display: inline-block;   top: -180px;   left: 0;   width: 30px;   height: 100%;   background-color: #fff;   
  animation: shiny-btn1 3s ease-in-out infinite; }
.button-style-11:active{  }

@-webkit-keyframes shiny-btn1 {   0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }   80% { -webkit-transform: scale(0) rotate(45deg); 
  opacity: 0.5; }   81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }   100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; } }

/*******************/
/* button-style-12 */
/*******************/
.button-style-12{ 
  position: relative; 
  margin: 0 ;
  width: auto;
  padding: 0px;
  white-space: nowrap;
  border: 0px solid #000;
  min-width: 150px;
  background-color:transparent;
}
.button-style-12:hover{ 
  background-color:transparent;
}
.button-style-12 span{ 
  min-width: 150px;
  display: block;  
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  vertical-align: center;
  background-color:transparent;
  width: auto;
  padding: 7px;
  position: absolute !important;  
  border: 2px solid #000;
  -webkit-transition: all .3s;
  transition: all .3s; 
}
.button-style-12 span:nth-child(1) {
  box-shadow: -7px -7px 20px 0px #fff9, -4px -4px 5px 0px #fff9, 7px 7px 20px 0px #0002, 4px 4px 5px 0px #0001;
  -webkit-transform: rotateX(90deg);
  -moz-transform: rotateX(90deg);
  transform: rotateX(90deg);
  -webkit-transform-origin: 50% 50% -20px;
  -moz-transform-origin: 50% 50% -20px;
  transform-origin: 50% 50% -20px;
}
.button-style-12 span:nth-child(2) {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
  -webkit-transform-origin: 50% 50% -20px;
  -moz-transform-origin: 50% 50% -20px;
  transform-origin: 50% 50% -20px;
}
.button-style-12:hover span:nth-child(1) {
  -webkit-transform: rotateX(0deg);
  -moz-transform: rotateX(0deg);
  transform: rotateX(0deg);
}
.button-style-12:hover span:nth-child(2) {
  background: #e0e5ec;
  color: #e0e5ec;
  -webkit-transform: rotateX(-90deg);
  -moz-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
}
.button-style-12 .button_label {
  display: inline-block;
  padding: 7px 12px 7px 12px;
  margin: 0px;
  color: #000000;
}.button-style-12:hover .button_label {
  display: inline-block;
  padding: 7px 12px 7px 12px;
  margin: 0px;
  color: #000000;
  background-color:transparent;
}
.button-style-12 i {
  -webkit-transform: translateY(3px);
  -ms-transform: translateY(3px);
  transform: translateY(3px);
  margin-left: 5px;
}
/*******************/
/* button-style-13 */
/*******************/
.button-style-13 {  background: #000; color: #fff; z-index: 1; min-width: 150px;}
.button-style-13:after { position: absolute; content: ""; width: 100%; height: 0; bottom: 0; left: 0; z-index: -1;  background: #555555; transition: all 0.3s ease; }
.button-style-13:hover, .button-style-13 .button_label { color: #cccccc; }
.button-style-13:hover:after { top: 0; height: 100%; }
.button-style-13:active { top: 2px; }
/*******************/
/* button-style-14 */
/*******************/
.button-style-14 {  background: #000; color: #fff; z-index: 1; min-width: 150px;}
.button-style-14:after { position: absolute; content: ""; width: 100%; height: 0; top: 0; left: 0; z-index: -1; background: #555555; transition: all 0.3s ease; }
.button-style-14:hover { color: #000; }
.button-style-14:hover:after { top: auto; bottom: 0; height: 100%; }
.button-style-14:active { top: 2px; }

/*******************/
/* button-style-15 */
/*******************/
.button-style-15 {  background: #000; color: #fff; z-index: 1; min-width: 150px;}
.button-style-15:after { position: absolute; content: ""; width: 0; height: 100%; top: 0; right: 0; z-index: -1;  background: #555555; transition: all 0.3s ease; }
.button-style-15:hover { color: #000; }
.button-style-15:hover:after { left: 0; width: 100%; }
.button-style-15:active { top: 2px; }

/*******************/
/* button-style-16 */
/*******************/
.button-style-16 {  background: #000; color: #fff; z-index: 1; min-width: 150px; }
.button-style-16:after { position: absolute; content: ""; width: 0; height: 100%; top: 0; left: 0; direction: rtl; z-index: -1; background: #555555; transition: all 0.3s ease; }
.button-style-16:hover { color: #000; }
.button-style-16:hover:after { left: auto; right: 0; width: 100%; }
.button-style-16:active { top: 2px; }

/*******************/
/* button-style-17 */
/*******************/
.button-style-17 { transition: all 0.3s ease; min-width: 150px;}
.button-style-17:hover {  box-shadow:  -7px -7px 20px 0px #fff9,  -4px -4px 5px 0px #fff9,  7px 7px 20px 0px #0002,  4px 4px 5px 0px #0001; }

/*******************/
/* button-style-18 */
/*******************/



.button-style-18{
  min-width: 150px;
  display:inline-block;
  position:relative;
  padding-top: 10px;
  padding-left: 5px;
  padding-right: 5px;
  padding-bottom: 10px;
  text-align:center;
  text-decoration:none;
  color:#404040;
  transition:.5s;
  margin-top: 5px 0px 5px 0px;
  border: 0px;
}

.button-style-18 i{    
  -webkit-transform: translateY(1px); 
  -ms-transform: translateY(1px); 
  transform: translateY(1px); 
  margin-left: 8px;
  margin-right: 8px;
 }
 .button-style-18 .button_label{    
  -webkit-transform: translateY(0px); 
  -ms-transform: translateY(0px); 
  transform: translateY(0px); 
  margin-left: 8px;
  margin-right: 8px;
 }


.button-style-18 span {
  position:absolute;
  transition: transform .5s;
}
.button-style-18 span:nth-child(1),
.button-style-18 span:nth-child(3){
  width:100%;
  height:2px;
  background:#404040;
}
.button-style-18 span:nth-child(1) {
  top:0;
  left:0;
  transform-origin: right;
}
.button-style-18:hover span:nth-child(1) {
  transform: scaleX(0);
  transform-origin: left;
  transition:transform .5s;
}

.button-style-18 span:nth-child(3) {
  bottom:0;
  left:0;
  transform-origin: left;
}
.button-style-18:hover span:nth-child(3) {
  transform: scaleX(0);
  transform-origin: right;
  transition:transform .5s;
}

.button-style-18 span:nth-child(2),
.button-style-18 span:nth-child(4){
  width:2px;
  height:100%;
  background:#404040;
}
.button-style-18 span:nth-child(2) {
  top:0;
  left:0;
  transform:scale(0);
  transform-origin: bottom;
}
.button-style-18:hover span:nth-child(2) {
  transform: scale(1);
  transform-origin: top;
  transition:transform .5s;
}
.button-style-18 span:nth-child(4) {
  top:0;
  right:0;
  transform:scale(0);
  transform-origin: top;
}
.button-style-18:hover span:nth-child(4) {
  transform: scale(1);
  transform-origin: bottom;
  transition:transform .5s;
}

.button-style-18:hover i, .button-style-18:hover span {
  color: #dd4b39;
}

/******************/
/* button-style-22 */
/******************/
.button-style-22 { z-index: 2; transition: all 0.3s ease; overflow: hidden; min-width: 150px; }
.button-style-22:after { position: absolute; content: " "; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; transition: all 0.3s ease; }
.button-style-22:hover { box-shadow:  4px 4px 6px 0 rgba(255,255,255,.5),  -4px -4px 6px 0 rgba(116, 125, 136, .2),    
  inset -4px -4px 6px 0 rgba(255,255,255,.5),   inset 4px 4px 6px 0 rgba(116, 125, 136, .3); color: #fff; }
.button-style-22:hover:after { -webkit-transform: scale(2) rotate(180deg); transform: scale(2) rotate(180deg); background: #000; box-shadow:  4px 4px 6px 0 rgba(255,255,255,.5),
  -4px -4px 6px 0 rgba(116, 125, 136, .2),    inset -4px -4px 6px 0 rgba(255,255,255,.5),   inset 4px 4px 6px 0 rgba(116, 125, 136, .3); }

.premiumvisual_elementor_addon_Buttons .animate{
    -webkit-transition:-webkit-transform 0.1s;
    -webkit-transform:translate(0, 0);
    -moz-transition:-moz-transform 0.1s;
    -moz-transform:translate(0, 0);
    -ms-transition:-ms-transform 0.1s;
    -ms-transform:translate(0, 0);
    -o-transition:-o-transform 0.1s;
    -o-transform:translate(0, 0);
    transition:transform 0.1s;
    transform:translate(0, 0);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;	
  }

 .premiumvisual_elementor_addon_Buttons .button-icon-right i{
    -webkit-transition:-webkit-transform 0.1s;
    -webkit-transform:translate(0, 0);
    -moz-transition:-moz-transform 0.1s;
    -moz-transform:translate(0, 0);
    -ms-transition:-ms-transform 0.1s;
    -ms-transform:translate(0, 0);
    -o-transition:-o-transform 0.1s;
    -o-transform:translate(0, 0);
    transition:transform 0.1s;
    transform:translate(0, 0);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;			
}
