[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
    background-color: transparent;
    color: #fff;
    text-decoration: none;
}

h1, h2, h3, h4 {
    font-family: var(--e-global-typography-primary-font-family), serif;
}

.page-title h1.elementor-heading-title {
    font-size: clamp(32px, 4vw, 56px);
    font-family: var(--e-global-typography-primary-font-family), serif;
    line-height: 1.1
}

.section-title h2.elementor-heading-title {
    font-size: clamp(20px, 3.2vw, 40px);
    font-family: var(--e-global-typography-primary-font-family), serif;
    line-height: 1.1;
    font-weight: 800 !important;
}

.section-title h2.elementor-heading-title span {
    color: var(--e-global-color-primary);
}


.section-desc {
    font-size: clamp(13.3px, 1.4vw, 16px);
}

.section {
    padding-inline: 20px !important;
    padding-top: clamp(40px, 10vw, 60px);
    padding-bottom: clamp(40px, 10vw, 60px);
}

.section-header {
    margin-bottom: clamp(20px, 4vw, 40px) !important;
}

.section-hero {
    margin-bottom: clamp(40px, 10vw, 60px) !important;
}

.main-img {
    padding: 10px;
    position: relative;
    z-index: 1;
}

.main-img::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    aspect-ratio: 1;
    z-index: -1;
    background: var(--e-global-color-primary) !important;
}

.img-animate img {
    clip-path: inset(50%);
    transition: clip-path 1.5s cubic-bezier(.4, 0, .2, 1);
    will-change: clip-path;
}

.swiper-slide-active.img-animate img {
    clip-path: inset(0);

}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(6px, 1.2vw, 16px);
    width: fit-content;
    min-width: clamp(100px, 10vw, 140px);
    border: 1px solid transparent;
    border-radius: 0;
    padding: clamp(8px, 0.8vw, 12px) clamp(14px, 1.5vw, 24px);
    overflow: hidden;
    font-size: clamp(13px, 1.2vw, 16px);
    cursor: pointer;
}

.btn .elementor-button-text,
.btn .elementor-button-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.btn .elementor-button-icon svg {
    width: clamp(18px, 2vw, 24px);
    height: auto;
}

.contact-form .elementor-button {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.contact-form .elementor-button .elementor-button-content-wrapper {
    position: relative;
    z-index: 1;
}

.btn-primary {
    position: relative;
    z-index: 1;
    background: transparent;
}

.btn-primary .elementor-button {
    position: relative;
    z-index: 1;
}

.btn-border {
    border-color: var(--e-global-color-secondary);
}

.contact-form .elementor-button:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-101%);
    width: 100%;
    height: 100%;
    background: white;
    pointer-events: none;
    z-index: -1;
    transition: all 0.5s ease-in-out;
}

.btn-primary:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-101%);
    width: 100%;
    height: 100%;
    background: var(--e-global-color-secondary);
    pointer-events: none;
    z-index: -1;
    transition: all 0.5s ease-in-out;
}

.contact-form .elementor-button:hover:before,
.active.btn-primary:before,
.btn-primary:hover:before {
    transform: translateX(0);
}

.active.btn-primary,
.btn-primary:hover,
.btn.btn-primary:hover .elementor-button {
    color: #fff;
}

.limit-line a,
.limit-line p,
.limit-line .elementor-heading-title,
.limit-line {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.limit-line.limit-2 a,
.limit-line.limit-2 p,
.limit-line.limit-2 .elementor-heading-title,
.limit-line.limit-2 {
    -webkit-line-clamp: 2;
}

.limit-line.limit-3 a,
.limit-line.limit-3 p,
.limit-line.limit-3 .elementor-heading-title,
.limit-line.limit-3 {
    -webkit-line-clamp: 3;
}

.limit-line.limit-5 {
    -webkit-line-clamp: 5;
}

.nav-prev,
.nav-next {
    cursor: pointer;
}

.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}

span.icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon svg {
    width: clamp(18px, 1.5vw, 26px);
    height: auto;
}

.footer-logo img {
    filter: brightness(0) invert(1);
}

.main-img.p-10 {
    padding-top: 10px;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 10px;
}

.main-img.p-10.b-life,
.main-img.elementor-widget-google_maps {
    padding-top: 10px;
    padding-bottom: 0;
    padding-left: 10px;
    padding-right: 0;
}

.main-img.b-life:before,
.main-img.elementor-widget-google_maps:before,
.elementor-widget-html.main-img:before {
    right: auto;
    left: 0;
    width: auto;
    height: 50%;
}

.text-line {
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.5px #D0D0D0;
}

.breadcrumb span {
    color: var(--e-global-color-text);
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 1;
}

.breadcrumb span:not(:last-child) {
    margin-right: 12px;
    padding-right: 12px;
    border-right: 1px solid #333333;
}

.breadcrumb a {
    color: hsla(0, 0%, 40%, .7);
    font-weight: 400;
}

.breadcrumb a:hover {
    color: var(--e-global-color-secondary);
}