/*
    Theme Name: Zelenergy-2023
*/
.elementor-widget-container p:last-child {margin-bottom: 0;}

@font-face {
    font-family: 'Gilroy';
    src: url('./fonts/Gilroy-Bold.woff2') format('woff2'),
        url('./fonts/Gilroy-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('./fonts/Gilroy-ExtraBold.woff2') format('woff2'),
        url('./fonts/Gilroy-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

.h-font,
.h-font-icon-box .elementor-icon-box-title,
.ge-numbers {font-family: 'Gilroy', 'Roboto', sans-serif !important;}

.ge-numbers .elementor-counter-title {margin-top: 16px;}

.elementor-button-icon {
	display: flex;
	justify-content: center;
	align-items: center;
}
.elementor-button-icon svg {width: auto !important;}

.ge-cursor-default {cursor: default;}
.aligncenter {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.overflow-hidden {overflow: hidden;}

a {
    text-decoration: none;
    color: #0773BB;
}

html {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 400;
    background: #fff;
}

.ge-container {
    width: 1140px;
    max-width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
}

.ge-socials {
	line-height: 0;
	font-size: 0;
}
.ge-socials img {height: 24px;}


/**
    Header
*/
body.admin-bar .ge-header, body.admin-bar .ge-header-mobile {top: 32px;}
.ge-header, .ge-header-spacer {height: 120px;}

.ge-header-mobile {
    display: none;
    z-index: 900;
    background: rgba(255,255,255,0.98);
    height: 56px;
}

#ge-mobile-blur {
    display: none;
    position: fixed;
    z-index: 999;
	z-index: 2147483647;
    left: 0; top: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
}

.ge-header-mobile-cols {
    display: flex;
    height: 100%;
    padding: 0 16px;
    justify-content: space-between;
}

.ge-header-mobile-col {
    min-width: 1px;
    display: flex;
    align-items: center;
}

.ge-header-mobile-col:last-child {justify-content: flex-end;}

.ge-header-mobile-logo {display: flex;}
.ge-header-mobile-logo img {max-height: 34px;}

#ge-mobile-toggle {
    width: 32px;
    height: 32px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.1s 0.08s;
}

#ge-mobile-toggle:active {
    background: #E1E1E2;
    transition: background-color 0.1s;
}

.ge-header {
    z-index: 1000;
    background: rgba(255,255,255,0.99);
    color: #162630;
    transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.ge-header-mobile,
.ge-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    width: 100%;
}

.ge-header-spacer {width: 100%;}

.ge-header--shrink {height: 88px;}

.ge-header--shrink,
.ge-header-mobile {
    -webkit-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.05);
    -moz-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.05);
    box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.05);
}

.ge-header-mobile {position: fixed;}

.ge-header .ge-container {
    height: 100%;
    display: flex;
	justify-content: space-between;
}

.ge-header-col {
	height: 100%;
    display: flex;
    align-items: center;
}

.ge-header .ge-container > div:last-child { justify-content: flex-end; }

.ge-header-logo {display: flex;}
.ge-header-logo img {max-height: 52px;}

.ge-nav {height: 100%;}

.ge-nav .menu {
    display: flex;
    height: 100%;
	align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ge-nav .menu > .menu-item {
	height: 60px;
	position: relative;
}

.ge-nav .menu > .menu-item > a {
    display: flex;
    height: 100%;
	color: #162630;
    padding: 0 12px;
    font-size: 18px;
	font-weight: 500;
}
.ge-nav .menu > .menu-item:hover > a {color: #0070ea;}

.ge-nav .menu > .menu-item > a > span {
    display: inline-flex;
    align-items: center;
}
.ge-nav .menu > .menu-item-has-children > a > span::after {
    display: inline-flex;
    content: '';
    margin-top: 1px;
    margin-left: 8px;
    width: 10px;
    height: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%23162630'%3E%3Cpath d='M4.505 5.784l-4.3-4.523a.764.764 0 010-1.042.676.676 0 01.99 0l3.8 4 3.8-4a.676.676 0 01.99 0A.765.765 0 019.8 1.261L5.5 5.787a.676.676 0 01-.99 0z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}
.ge-nav .menu > .current-menu-item.menu-item-has-children > a > span::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%2332a800'%3E%3Cpath d='M4.505 5.784l-4.3-4.523a.764.764 0 010-1.042.676.676 0 01.99 0l3.8 4 3.8-4a.676.676 0 01.99 0A.765.765 0 019.8 1.261L5.5 5.787a.676.676 0 01-.99 0z'/%3E%3C/svg%3E");
}

.ge-nav .menu > .current-menu-parent > a,
.ge-nav .menu > .current-menu-item > a {color: #0070ea;}

.ge-nav .menu > .current-menu-item > a::after {
    position: absolute;
    bottom: 0;
    display: block;
    content: '';
    left: 12px;
    width: calc(100% - 24px);
    height: 4px;
    background: #0070ea;
    border-radius: 4px 4px 0 0;
}

.ge-nav .sub-menu {
    display: none;
    list-style: none;
    position: absolute;
    top: 100%;
    left: 0;
	max-width: 600px;
    padding: 16px 8px;
    background: #fff;
    columns: 2;
    -webkit-box-shadow: 0px 34px 32px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 0px 34px 32px 0px rgba(0,0,0,0.16);
    box-shadow: 0px 34px 32px 0px rgba(0,0,0,0.16);
	border-radius: 0 0 3px 3px;
}

.ge-nav .sub-menu .current-menu-item a {color: #0070ea !important;}

.ge-nav .menu > .menu-item-has-children:hover a + .sub-menu,
.ge-nav .sub-menu:hover {display: block;}

.ge-nav .sub-menu a {
	color: #051C30;
    display: block;
    font-size: 16px;
    white-space: nowrap;
    padding: 0 12px;
    line-height: 40px;
    border-radius: 18px;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ge-nav .sub-menu a:hover {color: #0070ea;}

.ge-phone {
	display: inline-block;
	background: #32A800;
	color: #fff;
	font-size: 18px;
	line-height: 18px;
	font-weight: 500;
	padding: 12px 16px 11px 49px;
	border-radius: 100px;
	position: relative;
	margin-left: 1px;
}
.ge-phone span {
	display: flex;
	height: 100%;
	align-items: center;
	background: #3CC900;
	position: absolute;
	left: -1px;
	top: 0;
	padding: 0 11px 0 12px;
	border-radius: 100px;
}
.ge-phone span img {width: 18px;}

.ge-header-col--socials {display: none;}

@media (max-width: 600px) {
    #wpadminbar {position: fixed;}
}

@media (max-width: 374px) {
	.ge-phone { padding: 12px 12px 11px 45px; }
	.ge-header-mobile-logo img {max-height: 28px;}
}

@media (max-width: 782px) {
    body.admin-bar .ge-header-mobile {top: 46px;}
    body.admin-bar .ge-header {top: 46px;}
    #wpadminbar {overflow: hidden;}
}

@media (min-width: 1140px) {
	.hidden-desktop {display: none !important;}
}

@media (max-width: 1139px) {

    .ge-header-mobile {display: block;}
    .ge-header-spacer {height: 56px;}
    .ge-header {
		z-index: 2147483647;
        left: -280px;
        right: auto;
        height: auto;
        width: 280px;
        bottom: 0;
        overflow: hidden;
        overflow-y: auto;
        color: inherit;
    }
    .ge-header.opened {
        left: 0;
        transition: .1s ease-out left;
    }
	
	.ge-header .ge-container {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		max-width: 100%;
	}
	
	.ge-header-col {
		display: block;
		height: auto;
	}
	
	.ge-header-logo {
        padding: 16px;
        justify-content: center;
    }
	
	.ge-header-col--nav {
		flex: 1;
		overflow: hidden;
        overflow-y: auto;
	}
	
	.ge-header .ge-container > div:last-child {justify-content: normal;}
	
	.ge-header-col--phone {
		padding: 16px;
		text-align: center;
	}
	
	.ge-header-col--socials {
		padding: 16px;
		padding-top: 8px;
		display: flex;
		justify-content: space-between !important;
	}

    .ge-nav, .ge-nav .menu {
        display: block;
        margin: 0;
    }
	
	.ge-nav .menu > .menu-item {
		height: auto;
	}
	
    .ge-nav .menu > .menu-item a {
        display: block;
        padding: 16px;
        padding-right: 32px;
        border-bottom: 1px solid #F1F5F9;
        border-radius: 0;
        position: relative;
    }
    .ge-nav .menu > .menu-item:first-child > a {border-top: 1px solid #F1F5F9;}

    .ge-nav .sub-menu > .menu-item a {
        padding: 8px 16px;
        border-color: #F5F9FD;
    }

    .ge-nav .menu > .menu-item-has-children > a > span::after {
        position: absolute;
        right: 16px;
        margin-top: 0;
        margin-left: 8px;
        width: 10px;
        height: 6px;
    }

    .ge-nav .sub-menu {
        display: none;
        position: relative;
        max-width: 100%;
        padding: 0;
        columns: 1;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }
    .ge-nav .menu > .menu-item-has-children > a:hover + .sub-menu, 
    .ge-nav .sub-menu:hover { display: none; }

    .ge-sub-menu-shown {
        display: block !important;
    }

}


/**
 * 404
 */
.page-not-found {
    font-weight: 900;
    text-align: center;
    color: #152841;
    font-size: 6em;
    padding: 1.3em 0;
}


/**
 * Footer
 */
.ge-footer {
	border-top: 1px solid #F7F7F7;
    color: #4F5B63;
	padding-top: 80px;
	padding-bottom: 80px;
}

.ge-footer-cols {display: flex;}

.ge-footer-col {margin: 0 32px;flex:1;}
.ge-footer-col:first-child {margin-left: 0;}
.ge-footer-col:last-child {margin-right: 0;}

.ge-footer-logo img {height: 52px;}

.ge-footer-description {
	margin-top: 32px;
    line-height: 1.56em;
	font-style: italic;
}

.ge-footer-phone .ge-phone {
	font-size: 24px;
	font-weight: 700;
	padding: 15px 24px 14px 56px;
}
.ge-footer-phone .ge-phone img {height: 20px;}
.ge-footer-phone .ge-phone span {padding: 0 14px;}

.ge-footer-contacts {}
.ge-footer-contact {
    margin-top: 24px;
    display: inline-flex;
	align-items: center;
    color: inherit;
}
.ge-footer-contact:first-child {margin-top: 0;}
.ge-footer-contact img {margin-right: 12px;}
.ge-footer-contacts a:hover { color: #32a800; }

.ge-footer .ge-socials {margin-top: 40px;}
.ge-footer .ge-socials a {margin-left: 24px;}
.ge-footer .ge-socials a:first-child {margin-left: 0;}

@media (max-width: 1139px) {
    .ge-footer {text-align: center;padding: 56px 16px 88px 16px;}
    .ge-footer-cols {flex-flow: column;}
    .ge-footer-col {margin: 0;flex: auto;}
    .ge-footer-contact {margin-right: 16px;}
    .ge-footer-contact img {margin-right: 8px;}
	
	.ge-footer-description { margin-top: 16px; }
	.ge-footer-phone { margin-top: 32px; }
	.ge-footer-contacts { margin-top: 32px; }
	.ge-footer-contact { margin-top: 16px; }
}

/**
 * Other
 */
#btGoTop {
    display: none;
    position: fixed;
    bottom: 92px;
    right: 32px;
    z-index: 99;
    border: none;
    outline: none;
    background: #0070ea;
    color: #fff;
    cursor: pointer;
    width: 44px;
    height: 44px;
    opacity: 0.85;
    transition: all 0.3s ease;
    border-radius: 50%;
}

#btGoTop svg {
    margin-top: 3px;
    max-width: 16px;
    max-height: 16px;
    fill: #fff;
}


.ge-decor-yellow { position: relative; }
.ge-decor-yellow::before {
	display: block;
	background: #fedf00;
	content: '';
	width: 45.5%;
	height: 75%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	border-radius: 15px 0 0 15px;
}


.ge-decor-reviews {
	position: relative;
	overflow: hidden;
}
.ge-decor-reviews > div { z-index: 2; }
.ge-decor-reviews::before, .ge-decor-reviews::after {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	height: 100%;
	background: #F7F7F7;
	width: 50%;
}
.ge-decor-reviews::before {
	left: -50px;
	border-radius: 0 15px 15px 0;
}
.ge-decor-reviews::after {
	right: -50px;
	border-radius: 15px 0 0 15px;
}


.ge-video, .ge-video > div, .ge-video > div > div, .ge-video .elementor-custom-embed-image-overlay, .ge-video img {
	height: 100%;
	width: 100%;
	border-radius: 15px;
	overflow: hidden;
}
.ge-video img {	opacity: 0; }
.ge-video svg {
	opacity: 0.98;
	filter: drop-shadow(0 8px 16px rgba(255,255,255,.55));
}


@media (max-width: 767px) {
	.ge-decor-yellow::before { display: none; }
}

/* Chaty */
.chaty-widget {
	right: 20px !important;
}

.chaty-cta-button {
	background-color: transparent !important;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 12px 0px;
}

.chaty-channel-list .chaty-channel {
	box-shadow: rgba(0, 0, 0, 0.09) 0px 4px 12px 0px;
}

.chaty-cta-button button {
	background-color: transparent !important;
}

.chaty-cta-button .chaty-svg svg circle,
.chaty-cta-button .chaty-svg svg ellipse {
	fill: #3cc900;
}