/*
Theme Name: ZE Group State
Author: Sotirios Boutris - RDC
Author URI: https://www.rdc.gr
Description: Custom Wordpress theme for ZE Group State
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zegroupstate
Template: hello-elementor
*/

/* ==========================================================================
   ZE Group State – styles ported from the original site (formatCO_1.css)
   Colors: ink #435661, menu #4a606b, blue #3f73c3, footer bg #EBEBEB
   ========================================================================== */

/* ---------- Fonts: Roboto, self-hosted (GDPR: no request to Google) ---------- */
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300 900;
	font-stretch: 100%;
	font-display: swap;
	src: url('fonts/roboto-latin-ext-0fb06b.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300 900;
	font-stretch: 100%;
	font-display: swap;
	src: url('fonts/roboto-latin-cb43c0.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Global ---------- */
html, body { overflow-x: hidden; }
body {
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: #5a4f49;
	background: #fff;
}
body *, body *::before, body *::after { box-sizing: border-box; }
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body li, body a, body input, body textarea, body button {
	font-family: 'Roboto', sans-serif;
}
body a { color: inherit; }

/* Elementor spacing reset: the original layout has no default gaps/paddings */
body .elementor-element {
	--widgets-spacing: 0px 0px;
	--widgets-spacing-row: 0px;
	--widgets-spacing-column: 0px;
}
body .e-con {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
}

/* Typography of content areas */
.zgs-page h1.elementor-heading-title,
.zgs-page h2.elementor-heading-title,
.zgs-title .elementor-heading-title {
	margin: 0;
	padding-top: 95px;
	padding-bottom: 45px;
	font-size: 34px;
	line-height: 1.1;
	font-weight: 900;
	color: #435661;
	text-align: center;
	letter-spacing: 4px;
}
.zgs-page .elementor-widget-text-editor p {
	font-size: 17px;
	font-weight: 300;
	line-height: 25px;
	margin: 0 0 40px;
	color: #435661;
}
.zgs-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.zgs-page .elementor-widget-text-editor strong { font-weight: 700; }
.zgs-page .elementor-widget-text-editor ul,
.zgs-page .elementor-widget-text-editor ol { margin: 0 0 45px; padding-left: 15px; }
.zgs-page .elementor-widget-text-editor ul li,
.zgs-page .elementor-widget-text-editor ol li {
	font-size: 16px;
	font-weight: 300;
	line-height: 25px;
	color: #000;
}
.text-align-center, .text-align-center p { text-align: center; }
.color-white, .color-white p { color: #fff !important; }

.zgs-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Wrappers */
/* Real paddings with !important: Elementor resets the --padding-* variables at its tablet/mobile breakpoints */
.e-con.textWrapper { max-width: 890px; margin: 0 auto; padding-left: 15px !important; padding-right: 15px !important; width: 100%; }
.e-con.services_intro { max-width: 970px; margin: 0 auto; padding-left: 15px !important; padding-right: 15px !important; width: 100%; }
.services_intro .elementor-heading-title { letter-spacing: normal !important; }
.e-con.padding-bottom { padding-bottom: 100px !important; }

/* ---------- Header ---------- */
.zgs-header.e-con { padding-top: 15px !important; padding-bottom: 15px !important; }
.zgs-header > .e-con-inner {
	max-width: 1200px;
	--content-width: 1200px;
	padding: 0 15px;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
}
.zgs-header .zgs-logo a,
.zgs-footer-main .zgs-footer-logo a { display: block; line-height: 0; }
.zgs-header .zgs-logo img { width: 250px; max-width: 100%; height: auto; display: block; }
.zgs-header .zgs-main-menu { margin-top: 10px; }

/* Main menu (desktop) */
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li {
	padding: 5px 25px;
	line-height: 15px;
}
/* the original menu had an extra empty <li> (mobile close icon) adding 25px at the end */
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li:last-child { padding-right: 50px; }
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
	font-size: 15px;
	font-weight: 300;
	line-height: 15px;
	color: #4a606b;
	padding: 5px 0;
	margin: 0;
	transition: font-size 200ms ease-in;
}
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:focus,
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item-active,
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li:hover > a.elementor-item {
	color: #3f73c3;
}
/* Sub menu: no visible indicator on the original; opens on hover (pure CSS, like the original) */
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > a .sub-arrow { display: none; }
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > a.has-submenu { padding-right: 0; }
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li { position: relative; }
.zgs-main-menu .elementor-nav-menu--main ul.sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 300px !important;
	min-width: 300px !important;
	max-width: 300px !important;
	background: transparent;
	box-shadow: none;
	border: 0;
	border-radius: 0;
	padding-top: 20px;
	margin: -5px 0 0 -25px !important; /* Elementor offsets the dropdown by the li padding */
	z-index: 999;
}
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children:hover > ul.sub-menu,
.zgs-main-menu .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children:focus-within > ul.sub-menu { display: block !important; }
.zgs-main-menu .elementor-nav-menu--main ul.sub-menu li { background: #fff; line-height: 17px; padding: 0; }
.zgs-main-menu .elementor-nav-menu--main ul.sub-menu li a.elementor-sub-item {
	font-size: 14px;
	font-weight: 300;
	line-height: 17px;
	color: #081922;
	background: #fff;
	padding: 10px 20px;
	border: 0;
	white-space: normal;
}
.zgs-main-menu .elementor-nav-menu--main ul.sub-menu li a.elementor-sub-item:hover,
.zgs-main-menu .elementor-nav-menu--main ul.sub-menu li a.elementor-sub-item.elementor-item-active {
	color: #3f73c3;
	background: #fff;
}

/* Main menu (mobile / tablet): slide-in panel from the right, as designed on the original */
.zgs-main-menu .elementor-menu-toggle {
	position: relative;
	width: 35px;
	height: 24px;
	padding: 0;
	margin-left: auto;
	background:
		linear-gradient(#3f73c3, #3f73c3) 0 0 / 100% 4px no-repeat,
		linear-gradient(#3f73c3, #3f73c3) 0 10px / 100% 4px no-repeat,
		linear-gradient(#3f73c3, #3f73c3) 0 20px / 100% 4px no-repeat !important;
	border: 0;
	cursor: pointer;
	z-index: 10000;
}
.zgs-main-menu .elementor-menu-toggle svg { display: none !important; }
/* open state: the toggle becomes the blue close "X" at the top right of the panel */
.zgs-main-menu .elementor-menu-toggle.elementor-active {
	position: fixed;
	top: 35px;
	right: 24px;
	width: 30px;
	height: 3px;
	background: transparent !important;
}
.zgs-main-menu .elementor-menu-toggle.elementor-active::before,
.zgs-main-menu .elementor-menu-toggle.elementor-active::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #3f73c3;
}
.zgs-main-menu .elementor-menu-toggle.elementor-active::before { transform: rotate(-45deg); }
.zgs-main-menu .elementor-menu-toggle.elementor-active::after { transform: rotate(45deg); }

.zgs-main-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container,
.zgs-main-menu.elementor-nav-menu--toggle .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	width: 330px !important;
	max-width: 100vw;
	height: 100vh !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 75px 15px;
	overflow: auto !important;
	background-color: #F5F5F5;
	box-shadow: -4px 0 10px -2px rgba(0, 0, 0, .2);
	transform: translateX(345px) !important;
	transform-origin: center;
	transition: transform 200ms ease-in !important;
	z-index: 9999;
}
.zgs-main-menu.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
	transform: translateX(0) !important;
}
/* grey overlay behind the panel */
body:has(.zgs-main-menu .elementor-menu-toggle.elementor-active)::after {
	content: "";
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, .3);
	z-index: 9998;
}
/* items slide in one after the other */
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-nav-menu > li {
	position: relative;
	width: 100%;
	transform: translateX(500px);
	transition: transform 400ms ease-in;
}
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li { transform: translateX(0); }
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(1) { transition-delay: .1s; }
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(2) { transition-delay: .2s; }
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(3) { transition-delay: .3s; }
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(4) { transition-delay: .4s; }
.zgs-main-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(5) { transition-delay: .5s; }

.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item {
	display: block;
	font-size: 22px;
	font-weight: 300;
	/* same 56px single-line height as the original (15px + 2x20px), but wrapped lines do not overlap */
	line-height: 22px;
	color: #081922;
	padding: 16.5px 20px;
	background-color: #fff;
	border: 0;
	border-bottom: 1px solid #343434;
	border-radius: 0;
	margin: 0 0 10px;
	text-align: left;
	white-space: normal;
}
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item.elementor-item-active,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item.elementor-item-active {
	color: #3f73c3;
	background-color: #fff;
	border-bottom: 2px solid #3f73c3;
}
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:hover,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item:focus,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item:hover,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-sub-item:focus { color: #3f73c3; background-color: #fff; }
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container ul.sub-menu {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 0 15px;
	background: transparent;
	border: 0;
	box-shadow: none;
}
/* submenu toggle: 50x45 box with a blue chevron, as on the original */
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu .sub-arrow {
	position: absolute;
	top: 4px;
	right: 0;
	width: 50px;
	height: 45px;
	padding: 0;
	margin: 0;
	border-left: 1px solid #ccc;
	font-size: 0;
}
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu .sub-arrow svg { display: none; }
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu .sub-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 10px;
	background-color: #3f73c3;
	clip-path: polygon(10% 0, 0 0, 50% 100%, 100% 0, 90% 0, 50% 80%);
	transform: translate(-50%, -50%);
	transition: transform 200ms ease-in;
}
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu.highlighted .sub-arrow::before,
.zgs-main-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.has-submenu[aria-expanded="true"] .sub-arrow::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

/* ---------- Slider (home) ---------- */
.e-con.slider-container { position: relative; overflow: hidden; }
.slider-container .zgs-slide img { width: 100%; height: auto; display: block; }
.slider-container .slider-text {
	position: absolute !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto !important;
	z-index: 2;
}
.slider-container .slider-text .elementor-heading-title {
	font-weight: 700;
	font-size: 50px;
	line-height: 55px;
	text-align: center;
	color: #fff;
}

/* ---------- Welcome (home) ---------- */
.e-con.welcome_home {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.see_services {
	display: block;
	margin-top: 80px;
	padding-bottom: 40px;
	text-align: center;
	letter-spacing: 2px;
	text-decoration: none;
	color: rgba(0, 0, 0, .3);
	font-size: 14px;
	line-height: 20px;
}
.see_services .elementor-heading-title {
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 2px;
	color: rgba(0, 0, 0, .3);
	text-align: center;
	padding: 0;
}
.see_services .arrow_to_services { margin-top: 10px; }
.see_services .arrow_to_services img { width: 16px; height: auto; display: inline-block; }

/* ---------- Services grid (home) ---------- */
.e-con.services_grid { flex-direction: row; flex-wrap: wrap; }
.e-con.service_block {
	position: relative;
	width: 50%;
	--width: 50%;
	padding-top: 24% !important;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
}
.service_block .hover_info {
	position: absolute !important;
	max-width: 610px;
	width: 100%;
	--width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	padding: 30px 45px !important;
	height: 145px;
	overflow: hidden;
	background-color: rgba(63, 115, 195, .9);
	transition: all 200ms ease-in;
	text-align: center;
	justify-content: flex-start;
}
.service_block:hover .hover_info { height: 360px; }
.service_block .service_name .elementor-heading-title {
	font-size: 28px;
	font-weight: 900;
	line-height: 1.43;
	color: #fff;
	margin-top: 25px;
	padding: 0;
	letter-spacing: normal;
	text-align: center;
}
.service_block .hover_info_hidden { padding-top: 30px !important; }
.service_block .hov_hid_line {
	height: 1px;
	max-width: 377px;
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}
.service_block .hiv_hid_desc,
.service_block .hiv_hid_desc p {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.43;
	color: #fff;
	text-align: center;
	margin: 0;
}
.service_block .hiv_hid_desc { margin-top: 30px; }
/* the original truncated the text to 50px height (jQuery dotdotdot): 1 line at 18px, 2 lines at 16px */
.service_block .hiv_hid_desc p {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Outline button (SEE MORE) */
.customButton .elementor-button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 188px;
	margin: 35px auto 0;
	border: 1px solid #fff;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 13px;
	font-weight: 300;
	line-height: 18.57px;
	padding: 13px 0;
	text-decoration: none;
	fill: #fff;
}
.customButton .elementor-button:hover,
.customButton .elementor-button:focus { background-color: #fff; color: #000; }
.customButton .elementor-button .elementor-button-text { color: inherit; }

/* ---------- Inner page banner ---------- */
.e-con.banner {
	position: relative;
	height: 314px;
	--min-height: 314px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* ---------- About: mission ---------- */
.e-con.mission-section {
	background-color: #3f73c3;
	padding: 70px 15px !important;
}
.e-con.mission-section > .elementor-widget.mission { max-width: 940px; margin: 0 auto; width: 100%; }

/* ---------- Contact ---------- */
.e-con.contact_container {
	max-width: 960px;
	width: 100%;
	margin: 80px auto 0;
	position: relative;
}
.e-con.input_Container {
	position: relative;
	background-color: #fff;
	padding: 45px 80px !important;
	box-shadow: 0 0 7px 2px rgba(0, 0, 0, .2);
}
.input_Container .form_icon {
	position: absolute !important;
	top: 0;
	left: 0;
	width: auto !important;
}
.input_Container .form_icon img { display: block; width: 186px; height: auto; }
.form-wrapper,
.e-con.input_Container > .elementor-widget.form-wrapper { max-width: 460px; width: 100%; margin: 0 auto; position: relative; z-index: 1; }
.form-wrapper .wpcf7 form > p { position: relative; }
.form-wrapper .wpcf7 form p { margin: 0; }
.form-wrapper .form-group { margin-bottom: 15px; }
.form-wrapper .form-group .wpcf7-form-control-wrap { display: block; }
.form-wrapper .form-group input,
.form-wrapper .form-group textarea {
	display: block;
	width: 100%;
	font-size: 16px;
	line-height: 1.43;
	padding: 6px 12px;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	outline: none;
	font-family: 'Roboto', sans-serif;
}
.form-wrapper .form-group input {
	height: 39px;
	text-align: center;
	color: #555;
	font-weight: 400;
	border: 0;
	border-bottom: 1px solid #000;
}
.form-wrapper .form-group textarea {
	height: 110px;
	font-weight: 300;
	color: #000;
	border: 1px solid #000;
	resize: vertical;
}
.form-wrapper .form-group input::placeholder,
.form-wrapper .form-group textarea::placeholder { color: #000; opacity: 1; }
.form-wrapper .form-group input:focus,
.form-wrapper .form-group textarea:focus { box-shadow: none; }
/* original: bootstrap border-color "unset" on focus -> currentColor */
.form-wrapper .form-group input:focus { border-bottom-color: #555; }
.form-wrapper .wpcf7-submit,
.form-wrapper button[type="submit"] {
	display: block;
	width: 100%;
	margin: 20px 0 0;
	padding: 10px;
	background-color: #3f73c3;
	border: 1px solid #3f73c3;
	border-radius: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.43;
	cursor: pointer;
}
.form-wrapper .wpcf7-submit:hover,
.form-wrapper .wpcf7-submit:focus,
.form-wrapper .wpcf7-submit:active {
	background-color: transparent;
	color: #3f73c3;
	border-color: #3f73c3;
	outline: none;
}
.form-wrapper .wpcf7-spinner { position: absolute; right: -40px; bottom: 12px; margin: 0; }
.form-wrapper .wpcf7-not-valid-tip { font-size: 13px; text-align: center; }
.form-wrapper .wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 10px 15px;
	font-size: 14px;
	text-align: center;
	color: #fff;
	border: 0;
	background: rgba(63, 115, 195, .92);
}
.form-wrapper .wpcf7 form.invalid .wpcf7-response-output,
.form-wrapper .wpcf7 form.failed .wpcf7-response-output,
.form-wrapper .wpcf7 form.spam .wpcf7-response-output { background: #c0392b; }

.e-con.contact_info { padding-top: 90px !important; }
.contact_info .elementor-widget-text-editor p { text-align: center; }
.zgs-page .contact_info .elementor-widget-text-editor.contact_company p { font-weight: 800; color: #081922; margin: 0 0 40px; }
.zgs-page .contact_info .elementor-widget-text-editor.contact_address p { margin: 0 0 10px; }
.contact_info a { color: #435661; text-decoration: none; }
.e-con.map_section { height: 456px; --min-height: 456px; overflow: hidden; }
/* Complianz placeholder (map blocked until marketing consent): its JS sets a height from the
   placeholder image ratio, which overflowed onto the footer */
.map_section .cmplz-placeholder-parent,
.map_section .cmplz-blocked-content-container {
	height: 456px !important;
	max-height: 456px;
	background-size: cover !important;
	background-position: center !important;
}
.map_section .elementor-widget-google_maps,
.map_section .elementor-custom-embed,
.map_section iframe { height: 456px !important; width: 100%; }
.map_section iframe { display: block; border: 0; filter: none; }

/* ---------- Footer ---------- */
.e-con.zgs-footer-main {
	background-color: #EBEBEB;
	padding: 40px 15px 50px !important;
}
.zgs-footer-main > .e-con-inner {
	max-width: 1200px;
	--content-width: 1200px;
	padding: 0 15px;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}
.zgs-footer-main .zgs-footer-logo img { width: 250px; max-width: 100%; height: auto; display: block; }
.zgs-footer-main .footer_info { margin-top: 10px; }
.zgs-footer-main .footer_info_bold p,
.zgs-footer-main .footer_info_bold {
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
	color: #4a606b;
	margin: 0 0 10px;
}
.zgs-footer-main .footer_info_bold a { color: #4a606b; font-weight: 300; text-decoration: none; }
.zgs-footer-main .footer_info_bold a:hover,
.zgs-footer-main .footer_info_bold a:focus { color: #4a606b; text-decoration: underline; }
.zgs-footer-main > .e-con-inner > .e-con { --width: auto; width: auto; flex: 0 0 auto; }
.zgs-footer-main .footer_mid { margin-top: 17px; }

.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
	font-size: 15px;
	font-weight: 300;
	line-height: 26px; /* original: inline 15px link in a 14px/25px li -> 26px line pitch */
	color: #4a606b;
	padding: 0;
	margin: 0;
	display: block;
	text-align: inherit;
}
.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover,
.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item.elementor-item-active { color: #3f73c3; }
.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu > li { padding: 0; }

.e-con.zgs-footer-down { padding: 0 !important; }
.zgs-footer-down .elementor-widget-text-editor p span {
	font-size: 10px;
	line-height: 14.2857px;
	color: #000;
}
.zgs-footer-down .elementor-widget-text-editor p,
.zgs-footer-down .elementor-heading-title {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: #000;
	text-align: center;
	margin: 0;
	padding: 0;
	letter-spacing: normal;
}

/* ==========================================================================
   Responsive (same breakpoints as the original)
   ========================================================================== */
@media (max-width: 1400px) {
	.e-con.service_block { padding-top: 334.08px !important; background-size: auto; }
	.service_block .hover_info { max-width: 500px; height: 120px; }
	.service_block:hover .hover_info { height: 300px; }
	.service_block .service_name .elementor-heading-title { font-size: 20px; margin-top: 15px; }
	.service_block .hiv_hid_desc { margin-top: 18px; }
	.service_block .hiv_hid_desc, .service_block .hiv_hid_desc p { font-size: 16px; }
	.service_block .hiv_hid_desc p { -webkit-line-clamp: 2; }
}
@media (max-width: 1023px) {
	.zgs-header > .e-con-inner { align-items: center; }
	.service_block .hover_info,
	.service_block:hover .hover_info { height: 360px; max-width: 100%; }
	.e-con.service_block { margin-bottom: 10px; }
	.zgs-footer-main .footer_mid { max-width: 168px; }
}
@media (max-width: 890px) {
	.zgs-footer-main .footer_mid.footer-nav { display: none; }
	.zgs-footer-main .footer_mid { margin-top: 0; }
}
@media (max-width: 830px) {
	.e-con.service_block { width: 100%; --width: 100%; background-size: 100% auto; }
	.service_block .hover_info { display: flex; justify-content: center; align-items: center; flex-direction: column; }
}
@media (max-width: 688px) {
	.e-con.service_block { background-size: auto; }
	.zgs-footer-main > .e-con-inner,
	.zgs-footer-main .footer_left { flex-direction: column !important; align-items: center !important; text-align: center; }
	.zgs-footer-main .footer_mid { margin-top: 40px; }
	.zgs-footer-main .zgs-footer-logo img { margin: 0 auto; }
	.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu { flex-direction: column; align-items: center; }
	.zgs-footer-menu .elementor-nav-menu--main .elementor-nav-menu > li { width: 100%; text-align: center; }
	.form-wrapper,
	.e-con.input_Container > .elementor-widget.form-wrapper { max-width: 100%; }
	.e-con.input_Container { padding-left: 15px !important; padding-right: 15px !important; }
	.input_Container .form_icon { display: none; }
}
@media (max-width: 580px) {
	.slider-container .slider-text .elementor-heading-title { font-size: 30px; line-height: 30px; }
}
