.custom-button-wrap {
     display: inline-block;
}

.custom-button {
     display: inline-flex;
     align-items: center;
     justify-content: space-between;
     position: relative;
     gap: 4px;
     text-decoration: none;
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
}

.button-text {
     padding: 10px 25px;
     background-color: #1C1B4A;
     color: #FFFFFF;
     border-radius: 100px;
     font-size: 18px;
     font-weight: 500;
     line-height: 28px;
     white-space: nowrap;
     z-index: 2;
     transform: translateX(-48px);
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-transform: translateX(-48px);
     -moz-transform: translateX(-48px);
     -ms-transform: translateX(-48px);
     -o-transform: translateX(-48px);
}

.button-icon {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     border: 1px solid currentColor;
     display: flex;
     align-items: center;
     justify-content: center;
     background: transparent;
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
     -ms-border-radius: 50%;
     -o-border-radius: 50%;
}

.icon-front {
     transform: scale(0);
     position: relative;
     z-index: 3;
     -webkit-transform: scale(0);
     -moz-transform: scale(0);
     -ms-transform: scale(0);
     -o-transform: scale(0);
}

.icon-back {
     position: absolute;
     right: 0;
     top: 50%;
     transform: translateY(-50%) scale(1);
     -webkit-transform: translateY(-50%) scale(1);
     -moz-transform: translateY(-50%) scale(1);
     -ms-transform: translateY(-50%) scale(1);
     -o-transform: translateY(-50%) scale(1);
}

.custom-button:hover .icon-front {
     transform: scale(1);
     -webkit-transform: scale(1);
     -moz-transform: scale(1);
     -ms-transform: scale(1);
     -o-transform: scale(1);
}

.custom-button:hover .icon-back {
     transform: translateY(-50%) scale(0);
     -webkit-transform: translateY(-50%) scale(0);
     -moz-transform: translateY(-50%) scale(0);
     -ms-transform: translateY(-50%) scale(0);
     -o-transform: translateY(-50%) scale(0);
}

.custom-button:hover .button-text {
     transform: translateX(0);
     -webkit-transform: translateX(0);
     -moz-transform: translateX(0);
     -ms-transform: translateX(0);
     -o-transform: translateX(0);
}

.custom-button-wrap.purple .button-text,
.custom-button-wrap.purple .button-icon {
     background-color: #1C1B4A;
     color: #FFFFFF;
     border-color: #1C1B4A;
}

.custom-button-wrap.purple-border .button-text {
     background-color: transparent;
     color: #1C1B4A;
     border: 1px solid #1C1B4A;
}

.custom-button-wrap.purple-border .button-icon {
     border-color: #1C1B4A;
}

.custom-button-wrap.white .button-text,
.custom-button-wrap.white .button-icon {
     background-color: #FFFFFF;
     color: #1C1B4A;
     border-color: #FFFFFF;
}

.custom-button-wrap.white-border .button-text {
     background-color: transparent;
     color: #FFFFFF;
     border: 1px solid #FFFFFF;
}

.custom-button-wrap.white-border .button-icon {
     border-color: #FFFFFF;
}

/* Installtion Start */

.installation-img-block {
     background: linear-gradient(180deg, #FFFFFF 0%, rgba(238, 239, 249, 0.70028) 29.97%, rgba(199, 200, 235, 0) 100%) !important;
     z-index: -1;
}

.installation-img-block::before {
     content: '';
     position: absolute;
     background: url('../images/installer-img.svg') !important;
     width: 100%;
     height: 100%;
     bottom: 0% !important;
     left: 0;
     background-size: contain !important;
     background-repeat: no-repeat !important;
     background-position: bottom center !important;
     opacity: 0.1;
}

.installer-detail-block ul li {
     color: #000 !important;
}

.installer-detail-block ul li:not(:last-child) {
     margin-bottom: 20px !important;
}

.installer-detail-block ul {
     padding-left: 28px;
}

/* Installation End */

/* ==================== Contact Form Button Style Start ==================== */

.contact-form .elementor-field-type-submit {
     position: relative;
     overflow: hidden;
}

.contact-form .elementor-field-type-submit .elementor-button {
     position: relative;
     /*overflow: visible;
     */
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1);
}

.contact-form .elementor-field-type-submit .elementor-button:hover {
     transform: translateX(50px);
     -webkit-transform: translateX(50px);
     -moz-transform: translateX(50px);
     -ms-transform: translateX(50px);
     -o-transform: translateX(50px);
}

.contact-form .elementor-field-type-submit .elementor-button::before {
     content: "";
     position: absolute;
     top: 50%;
     left: -4px;
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: url("../images/bottom-arrow.svg") #1C1B4A no-repeat center;
     border: 1px solid #1C1B4A;
     opacity: 0;
     transform: translate(-110%, -50%) scale(0.6);
     -webkit-transform: translate(-110%, -50%) scale(0.6);
     -moz-transform: translate(-110%, -50%) scale(0.6);
     -ms-transform: translate(-110%, -50%) scale(0.6);
     -o-transform: translate(-110%, -50%) scale(0.6);
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
}

.contact-form .elementor-field-type-submit .elementor-button:hover::before {
     opacity: 1;
     transform: translate(-100%, -50%) scale(1);
     -webkit-transform: translate(-100%, -50%) scale(1);
     -moz-transform: translate(-100%, -50%) scale(1);
     -ms-transform: translate(-100%, -50%) scale(1);
     -o-transform: translate(-100%, -50%) scale(1);
}

.contact-form .elementor-field-type-submit .elementor-button::after {
     content: "";
     position: absolute;
     top: 50%;
     right: -4px;
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: url("../images/bottom-arrow.svg") #1C1B4A no-repeat center;
     border: 1px solid #1C1B4A;
     opacity: 1;
     transform: translate(100%, -50%) scale(1);
     -webkit-transform: translate(100%, -50%) scale(1);
     -moz-transform: translate(100%, -50%) scale(1);
     -ms-transform: translate(100%, -50%) scale(1);
     -o-transform: translate(100%, -50%) scale(1);
     transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -webkit-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -moz-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -ms-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
     -o-transition: transform 0.7s cubic-bezier(.625, .05, 0, 1), opacity 0.3s ease;
}

.contact-form .elementor-field-type-submit .elementor-button:hover::after {
     opacity: 0;
     transform: translate(110%, -50%) scale(0.6);
     -webkit-transform: translate(110%, -50%) scale(0.6);
     -moz-transform: translate(110%, -50%) scale(0.6);
     -ms-transform: translate(110%, -50%) scale(0.6);
     -o-transform: translate(110%, -50%) scale(0.6);
}

/* ==================== Contact Form Button Style End ==================== */


/* ==================== Responsive Style Start ==================== */
@media (max-width: 1366px) {
     .button-text {
          transform: translateX(-46px);
          -webkit-transform: translateX(-46px);
          -moz-transform: translateX(-46px);
          -ms-transform: translateX(-46px);
          -o-transform: translateX(-46px);
     }

     .contact-form .elementor-field-type-submit .elementor-button::before,
     .contact-form .elementor-field-type-submit .elementor-button::after,
     .button-icon {
          width: 42px;
          height: 42px;
     }
}

@media (min-width: 1201px) and (max-width: 1366px) {
     .installer-detail-block ul li:not(:last-child) {
          margin-bottom: 15px !important;
     }
}

@media (max-width: 1200px) {

     .installer-detail-block ul li:not(:last-child) {
          margin-bottom: 12px !important;
     }
}

/* ==================== Responsive Style End ==================== */