/*
 * Author: SmartWebsite
 * Author URI: https://smartwebsite.pl
 * Version: 1.0
 */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: initial !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
	
	.elementor-invisible{visibility:visible !important}
}

h2::first-letter,
.fancy-text-border::first-letter {
	border-bottom: 2px solid currentColor;
}

p:first-of-type {
	margin-block-start: 0;
}

p:last-of-type {
	margin-block-end: 0;
}

.ehf-header header#masthead {
    position: fixed;
    max-width: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    transition-property: max-width, transform, background-color, box-shadow;
    transition-duration: .75s;
    will-change: transform, max-width, background-color, box-shadow;
}

.header-observer {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 35vh;
}

.hfe-nav-menu > .current-menu-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: currentcolor;
}

.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    flex-wrap: nowrap;
	flex-direction: column;
}

.hfe-nav-menu__submenu-plus {
	position: fixed;
    left: 0;
    top: 100%;
    width: 100% !important;
}

@supports (height: 100dvh) {
	.elementor-7 .elementor-element.elementor-element-8223cfa {
		--min-height: 100dvh;
		transition: min-height .5s;
		will-change: min-height;
	}
}

.main-bg__heading {
    color: var(--e-global-color-1bcc3e1);
    font-size: 2rem;
}

.main-bg__text {
	display: block;
}

.products-gallery img {
	transition: transform .5s;
	transform: perspective(290px) rotateY(0) scale(0.85);
}

.products-gallery .swiper-slide-inner:hover img {
	transform: perspective(220px) rotateY(-10deg) scale(.9);
}

.process-tree {
    counter-reset: step;
}

.process-box {
    counter-increment: step;
}

.process-box::before {
    content: counter(step, decimal-leading-zero) ".";
    padding: 1em 0;
    border-width: 1px 0 1px 0;
    border-style: solid;
    border-color: var(--e-global-color-1bcc3e1);
    position: relative;
    margin-block: auto;
    background-color: var(--e-global-color-4025017);
    color: var(--e-global-color-1bcc3e1);
    min-width: 66px;
    text-align: center;
    flex: 1 0 66px;
}

.process-box:first-of-type::before {
    border-width: 0 0 1px 0;
}

.process-box:last-of-type::before {
    border-width: 1px 0 0;
}

form.forminator-ui#forminator-module-702.forminator-design--basic .forminator-error-message {
    font-size: inherit;
    color: var(--e-global-color-1bcc3e1);
    background-color: var(--e-global-color-4025017);
    padding: 10px;
}

.forminator-textarea {
    resize: vertical;
}

.forminator-checkbox input[type="checkbox"] {
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.forminator-consent__label > p {
    line-height: initial;
}

.forminator-button {
    cursor: pointer;
    display: block;
    margin-inline: auto;
    transition: background-color .3s;
    will-change: background-color;
}

.google-maps-height .elementor-custom-embed {
	height: 100%;
}

@media (min-width: 768px) {
    .main-bg__heading {
        font-size: 2.75rem;
    }
	
	.main-bg__text {
		text-wrap: nowrap;
	}

    .process-box::before {
        background-color: #fff;
    }

    .process-box::after {
        content: '';
        width: 1px;
        height: 105%;
        position: absolute;
        background-color: var(--e-global-color-1bcc3e1);
        left: 0;
        transform: translateX(33px);
        z-index: -1;
        top: 50%;
    }

    .process-box:last-of-type::after {
        display: none;
    }

    .process-box:hover .process-content,
    .process-box:hover::before {
        background-color: var(--e-global-color-4025017);
    }
}

@media (min-width: 1024px) {
    .ehf-header header#masthead {
        max-width: 800px;
        left: 50%;
        transform: translate(-50%, 50px);
		background-color: transparent;
		box-shadow: 0 0 transparent;
		opacity: 0;
		animation: header-opacity 1s .5s forwards;
    }

    .ehf-header header#masthead.header-full {
        max-width: 100%;
		background-color: #fff;
		box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        transform: translate(-50%, 0);
    }
	
	.ehf-header header#masthead:hover {
		background-color: #FFF;
		box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	}
	
	.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		flex-direction: row;
	}

	.hfe-nav-menu__submenu-plus {
		position: relative;
		left: initial;
		top: initial;
		width: initial;
	}

    .main-bg__heading {
        font-size: 3.5rem;
    }
	
	@keyframes header-opacity {
		100% {
			opacity: 1;
		}
	}
}