/*
Theme Name: Hello Elementor Eccogarden
Template: hello-elementor
Description: Small child theme for Eccogarden. Header, footer, home slider, quote form and style.
Version: 1.0.0
Text Domain: hello-elementor-eccogarden
*/
:root { --eg-navy:#1f425d; --eg-navy2:#162f42; --eg-blue:#4ab9cf; --eg-blue2:#35a3b9; --eg-green:#23b35b; --eg-head:#444444; --eg-text:#7a7a7a; --eg-gray:#f5f5f5; }
body { font-family:"Roboto",Arial,Helvetica,sans-serif; font-size:15px; line-height:1.7; color:var(--eg-text); }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family:"Source Sans 3","Source Sans Pro",Arial,sans-serif !important; }
a { color:var(--eg-blue); }
.eg-wrap { max-width:1170px; margin:0 auto; padding:0 15px; }

/* header */
.eg-header { background:#fff; position:relative; z-index:999; }
.eg-tagline { background:var(--eg-gray); font-size:12px; color:#999; line-height:36px; border-bottom:1px solid #eee; }
.eg-top .eg-wrap { display:flex; align-items:center; justify-content:space-between; min-height:92px; gap:20px; }
.eg-logo img { height:48px; width:auto; display:block; }
.eg-info { display:flex; align-items:center; }
.eg-info > div { display:flex; align-items:flex-start; gap:8px; padding:0 22px; border-right:1px solid #eee; }
.eg-info p { margin:0; }
.eg-info svg { width:15px; height:15px; stroke:var(--eg-green); fill:none; stroke-width:2; margin-top:3px; }
.eg-info strong { display:block; font-size:12px; font-weight:400; color:#999; line-height:1.4; }
.eg-info span { font-size:14px; font-weight:700; color:#444; }
.eg-info a { color:#444; text-decoration:none; }
.eg-btn, .eg-btn:visited { margin-left:22px; background:var(--eg-blue); color:#fff !important; font-size:13px; font-weight:700; text-transform:uppercase; padding:13px 24px; text-decoration:none; border-radius:2px; }
.eg-btn:hover { background:var(--eg-blue2); }
.eg-navbar { background:var(--eg-navy); position:sticky; top:0; }
.eg-navbar .eg-wrap { display:flex; align-items:center; min-height:52px; }
.eg-nav ul { list-style:none; margin:0; padding:0; }
.eg-nav > ul { display:flex; }
.eg-nav > ul > li { position:relative; }
.eg-nav > ul > li > a { display:block; padding:16px 20px; font-size:14px; font-weight:700; color:#fff; text-decoration:none; border-bottom:3px solid transparent; }
.eg-nav > ul > li.current-menu-item > a, .eg-nav > ul > li.current-menu-ancestor > a, .eg-nav > ul > li > a:hover { border-bottom-color:var(--eg-blue); }
.eg-nav .menu-item-has-children > a:after { content:''; display:inline-block; width:5px; height:5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin:0 0 3px 8px; }
.eg-nav .sub-menu { position:absolute; left:0; top:100%; min-width:230px; background:var(--eg-navy2); opacity:0; visibility:hidden; transition:all .2s; z-index:10; }
.eg-nav li:hover > .sub-menu { opacity:1; visibility:visible; }
.eg-nav .sub-menu a { display:block; padding:11px 20px; font-size:13px; color:#cfdbe5; text-decoration:none; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.06); }
.eg-nav .sub-menu a:hover { color:#fff; background:rgba(255,255,255,.05); }
.eg-burger { display:none; margin-left:auto; background:none; border:0; padding:8px; cursor:pointer; }
.eg-burger span { display:block; width:24px; height:2px; background:#333; margin:5px 0; }
@media (max-width:1024px) {
  .eg-info, .eg-tagline { display:none; }
  .eg-top .eg-wrap { min-height:70px; }
  .eg-logo img { height:38px; }
  .eg-burger { display:block; }
  .eg-navbar .eg-wrap { min-height:0; }
  .eg-nav { display:none; width:100%; }
  .eg-nav.is-open { display:block; }
  .eg-nav > ul { flex-direction:column; padding:6px 0; }
  .eg-nav > ul > li > a { padding:12px 0; }
  .eg-nav .sub-menu { position:static; opacity:1; visibility:visible; display:none; background:none; }
  .eg-nav li.open > .sub-menu { display:block; }
}

/* home slider */
.eg-slider { position:relative; overflow:hidden; }
.eg-slider.eg-ready > .eg-slide { display:none !important; }
.eg-slider.eg-ready > .eg-slide.is-active { display:flex !important; animation:egFade .8s ease; }
.eg-slider:not(.eg-ready) > .eg-slide:not(:first-child) { display:none !important; }
@keyframes egFade { from { opacity:0; } to { opacity:1; } }
.eg-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:46px; height:46px; background:rgba(255,255,255,.2); border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.eg-arrow:hover { background:var(--eg-blue); }
.eg-arrow svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:2.5; }
.eg-prev { left:20px; } .eg-next { right:20px; }
.eg-dots { display:none; }
.eg-slide .elementor-heading-title { text-shadow:0 2px 6px rgba(0,0,0,.35); }

/* welcome box that sits over the slider */
.eg-lift { margin-top:-70px; position:relative; z-index:3; }
.eg-welcome { box-shadow:0 3px 12px rgba(0,0,0,.08); }
.eg-card img { width:100%; height:200px; object-fit:cover; display:block; }
.eg-card .elementor-widget-image { margin-bottom:0 !important; }

/* section headings with a line */
.eg-title .elementor-heading-title { display:flex; align-items:center; gap:20px; }
.eg-title .elementor-heading-title:after { content:''; flex:1; height:1px; background:#e5e5e5; }

/* service boxes */
.eg-svc { display:flex; gap:18px; align-items:flex-start; }
.eg-svc .ic { flex:0 0 58px; height:58px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); display:flex; align-items:center; justify-content:center; transition:background .2s; }
.eg-svc:hover .ic { background:var(--eg-blue); }
.eg-svc:hover .ic svg { stroke:#fff; }
.eg-svc svg { width:28px; height:28px; stroke:var(--eg-navy); fill:none; stroke-width:1.5; }
.eg-svc h4 { margin:4px 0 6px; font-size:18px; font-weight:900; text-transform:uppercase; color:var(--eg-head); }
.eg-svc h4 a { color:inherit; text-decoration:none; }
.eg-svc p { margin:0; font-size:14px; }
.eg-readmore, .eg-readmore:visited { font-size:13px; font-weight:700; color:var(--eg-blue) !important; text-decoration:none; text-transform:uppercase; }
.eg-readmore:hover { color:var(--eg-navy) !important; }

/* partners */
.eg-partners { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.eg-partners img { width:100%; height:auto; border:1px solid #eee; filter:grayscale(1); opacity:.8; transition:all .2s; }
.eg-partners img:hover { filter:none; opacity:1; }
@media (max-width:767px) { .eg-partners { grid-template-columns:repeat(3,1fr); } }

/* page title bar */
.eg-titlebar { background:var(--eg-navy); }
.eg-crumbs { font-size:13px; color:#9eb7cb; }
.eg-crumbs a { color:#fff; text-decoration:none; }
.eg-crumbs span { margin:0 8px; }

/* pictures on inner pages */
.eg-pic img { width:100%; height:230px; object-fit:cover; display:block; }

/* contact details */
.eg-cinfo { list-style:none; margin:0; padding:0; }
.eg-cinfo li { display:flex; gap:14px; margin-bottom:18px; font-size:15px; line-height:1.6; color:#555; }
.eg-cinfo svg { flex:0 0 20px; width:20px; height:20px; stroke:var(--eg-blue); fill:none; stroke-width:1.8; margin-top:3px; }
.eg-cinfo a { color:#555; text-decoration:none; }
.eg-hours { width:100%; border-collapse:collapse; font-size:14px; }
.eg-hours td { padding:9px 0; border-bottom:1px solid #eee; color:#555; }
.eg-hours td:last-child { text-align:right; font-weight:700; }
.eg-map iframe { width:100%; height:380px; border:0; display:block; }

/* forms */
.eg-form .cols { display:flex; gap:20px; }
.eg-form .cols > div { flex:1; }
.eg-form input[type=text], .eg-form input[type=email], .eg-form input[type=tel], .eg-form select, .eg-form textarea { width:100%; background:#fff; border:1px solid #e3e3e3; border-radius:2px; padding:11px 14px; font-size:14px; margin-bottom:14px; color:#444; }
.eg-form textarea { min-height:186px; }
.eg-form.quote textarea { min-height:186px; }
.eg-form button { background:var(--eg-blue); color:#fff; border:0; padding:13px 32px; font-weight:700; font-size:13px; text-transform:uppercase; border-radius:2px; cursor:pointer; }
.eg-form button:hover { background:var(--eg-blue2); }
.eg-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.eg-notice { padding:10px 12px; margin:0 0 16px; font-size:14px; }
.eg-notice.ok { background:#e9f6ec; color:#1e6b33; }
.eg-notice.err { background:#fbeaea; color:#8a1f1f; }
.screen-reader { position:absolute; left:-9999px; }
@media (max-width:767px) { .eg-form .cols { flex-direction:column; gap:0; } }

/* footer */
.eg-footer { background:var(--eg-navy); color:#9eb7cb; font-size:14px; }
.eg-footer .cols { display:grid; grid-template-columns:1.3fr 1fr 1.3fr; gap:40px; padding:70px 15px 50px; max-width:1170px; margin:0 auto; }
.eg-footer .flogo { height:44px; width:auto; margin-bottom:20px; }
.eg-footer h4 { color:#fff; font-size:18px; font-weight:900; margin:4px 0 22px; }
.eg-footer p { color:#9eb7cb; line-height:1.8; margin:0; }
.eg-footer ul { list-style:none; margin:0; padding:0; }
.eg-footer li { display:flex; gap:12px; margin-bottom:14px; line-height:1.7; }
.eg-footer li svg { flex:0 0 18px; width:18px; height:18px; stroke:#9eb7cb; fill:none; stroke-width:1.6; margin-top:4px; }
.eg-footer .links li { margin-bottom:8px; }
.eg-footer a { color:#9eb7cb; text-decoration:none; }
.eg-footer a:hover { color:#fff; }
.eg-copy { background:var(--eg-navy2); }
.eg-copy .eg-wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:22px 15px; font-size:13px; color:#577186; }
.eg-copy a { color:#fff; }
@media (max-width:900px) { .eg-footer .cols { grid-template-columns:1fr; padding:50px 15px 30px; } }
