/* Tsavo Hosting — global keyframes + base styles */
body.tsavo-designed{margin:0;font-family:'Manrope',system-ui,sans-serif;color:#2a2519;-webkit-font-smoothing:antialiased}
.tsavo-designed a{color:#2f7fb0;text-decoration:none}
.tsavo-designed a:hover{color:#1c4d70}

@keyframes pulseDot{0%,100%{opacity:0.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floatSlow{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.06)}}
@keyframes floatSlow2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-24px,30px) scale(1.08)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.fadeUp{animation:fadeUp 0.6s ease-out both}
.fadeUp1{animation:fadeUp 0.6s 0.06s ease-out both}
.fadeUp2{animation:fadeUp 0.6s 0.14s ease-out both}
.fadeUp3{animation:fadeUp 0.6s 0.22s ease-out both}
.fadeUp4{animation:fadeUp 0.6s 0.32s ease-out both}

/* --- Astra full-width overrides for Elementor pages --- */
.elementor-page .site-content,
.elementor-page .ast-container,
.elementor-page .ast-container-fluid,
.elementor-page #primary,
.elementor-page .site-content .content-area,
.elementor-page .entry-content{max-width:100% !important;width:100% !important;padding:0 !important;margin:0 !important}
.elementor-page .site-content > .ast-container{max-width:none !important}
.elementor-page .entry-header,.elementor-page .ast-single-post-header,.elementor-page .ast-breadcrumbs-wrapper{display:none !important}
.elementor-page .elementor{width:100% !important}
.elementor-page article{padding:0 !important;margin:0 !important;background:transparent !important}
.elementor-page main#main{padding:0 !important;margin:0 !important}

/* Hide Astra header/footer everywhere (we render via XPRO) */
.ast-primary-header-bar,#masthead:not(.xpro-header),#colophon:not(.xpro-footer){display:none !important}

/* Font families */
.tsavo-designed{font-family:'Manrope',system-ui,sans-serif}
.tsavo-designed h1,.tsavo-designed h2,.tsavo-designed h3{font-family:'Bricolage Grotesque',serif}

/* HOVER RULES BEGIN */
.tv-h-about-2:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-about-3:hover{background:rgba(255,255,255,0.2);transition:all 0.28s ease}.tv-h-articles-1:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-articles-2:hover{border-color:#e2cfa4;transform:translateY(-2px);transition:all 0.28s ease}.tv-h-articles-3:hover,.tv-h-articles-4:hover,.tv-h-articles-5:hover,.tv-h-articles-6:hover{border-color:#e2cfa4;transition:all 0.28s ease}.tv-h-careers-1:hover,.tv-h-careers-3:hover,.tv-h-careers-4:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-careers-2:hover{border-color:#e2cfa4;transition:all 0.28s ease}.tv-h-careers-5:hover{background:#f5ead2;color:#2f7fb0;transition:all 0.28s ease}.tv-h-domainpricing-1:hover,.tv-h-domainpricing-3:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-domainpricing-2:hover{background:#2f7fb0;color:#fff;transition:all 0.28s ease}.tv-h-domainpricing-4:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-domainsearch-1:hover,.tv-h-domainsearch-2:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-domainsearch-3:hover{border-color:#e2cfa4;background:#fbf6ec;transition:all 0.28s ease}.tv-h-domainsearch-4:hover{background:#2f7fb0;color:#fff;transition:all 0.28s ease}.tv-h-emailhosting-1:hover,.tv-h-emailhosting-3:hover,.tv-h-emailhosting-5:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-emailhosting-2:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-emailhosting-4:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-footer-1:hover,.tv-h-footer-2:hover,.tv-h-footer-3:hover,.tv-h-footer-4:hover{background:#2f7fb0;transition:all 0.28s ease}.tv-h-footer-5:hover,.tv-h-footer-6:hover,.tv-h-footer-7:hover,.tv-h-footer-8:hover,.tv-h-footer-9:hover,.tv-h-footer-10:hover,.tv-h-footer-11:hover,.tv-h-footer-12:hover,.tv-h-footer-13:hover,.tv-h-footer-14:hover,.tv-h-footer-15:hover,.tv-h-footer-16:hover,.tv-h-footer-17:hover,.tv-h-footer-18:hover,.tv-h-footer-19:hover,.tv-h-footer-20:hover,.tv-h-footer-21:hover,.tv-h-footer-22:hover,.tv-h-footer-23:hover,.tv-h-footer-24:hover,.tv-h-footer-25:hover,.tv-h-footer-26:hover{color:#fff;transition:all 0.28s ease}.tv-h-header-1:hover,.tv-h-header-2:hover,.tv-h-header-3:hover,.tv-h-header-4:hover,.tv-h-header-5:hover,.tv-h-header-6:hover,.tv-h-header-7:hover,.tv-h-header-8:hover,.tv-h-header-9:hover,.tv-h-header-10:hover,.tv-h-header-11:hover,.tv-h-header-12:hover,.tv-h-header-13:hover,.tv-h-header-14:hover,.tv-h-header-15:hover,.tv-h-header-16:hover,.tv-h-header-17:hover{background:#faf3e4;transition:all 0.28s ease}.tv-h-header-18:hover,.tv-h-header-19:hover,.tv-h-header-21:hover,.tv-h-header-22:hover,.tv-h-header-23:hover,.tv-h-header-24:hover,.tv-h-header-25:hover,.tv-h-header-26:hover,.tv-h-header-27:hover,.tv-h-header-28:hover,.tv-h-header-29:hover,.tv-h-header-30:hover,.tv-h-header-31:hover,.tv-h-header-32:hover,.tv-h-header-33:hover,.tv-h-header-34:hover,.tv-h-header-35:hover,.tv-h-header-36:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-header-20:hover{background:#1c4d70;transform:translateY(-1px);box-shadow:0 14px 28px -8px rgba(47,127,176,0.55);transition:all 0.28s ease}.tv-h-hiredeveloper-1:hover,.tv-h-hiredeveloper-6:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-hiredeveloper-2:hover{background:#fbf6ec;transition:all 0.28s ease}.tv-h-hiredeveloper-3:hover,.tv-h-hiredeveloper-5:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-hiredeveloper-4:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-home-1:hover{background:#5aa4d1;transform:translateY(-2px);box-shadow:0 26px 52px -12px rgba(47,127,176,0.7);transition:all 0.28s ease}.tv-h-home-2:hover{background:rgba(255,255,255,0.14);transform:translateY(-2px);transition:all 0.28s ease}.tv-h-home-3:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-home-4:hover{color:#fff;transition:all 0.28s ease}.tv-h-home-5:hover,.tv-h-home-6:hover,.tv-h-home-7:hover,.tv-h-home-8:hover{transform:translateY(-6px);box-shadow:0 22px 48px -18px rgba(28,77,112,0.2);border-color:#e2cfa4;transition:all 0.28s ease}.tv-h-home-9:hover{background:#2f7fb0;transition:all 0.28s ease}.tv-h-home-10:hover,.tv-h-home-12:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-home-11:hover{background:#f5ead2;transform:translateY(-1px);transition:all 0.28s ease}.tv-h-home-13:hover{border-color:#e2cfa4;transition:all 0.28s ease}.tv-h-home-14:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(0,0,0,0.3);transition:all 0.28s ease}.tv-h-home-15:hover{background:rgba(255,255,255,0.2);transition:all 0.28s ease}.tv-h-hostingplans-1:hover,.tv-h-hostingplans-2:hover,.tv-h-hostingplans-3:hover{background:#e2cfa4;transition:all 0.28s ease}.tv-h-hostingplans-4:hover,.tv-h-hostingplans-5:hover,.tv-h-hostingplans-6:hover,.tv-h-hostingplans-7:hover,.tv-h-hostingplans-8:hover,.tv-h-hostingplans-9:hover,.tv-h-hostingplans-10:hover,.tv-h-hostingplans-11:hover,.tv-h-hostingplans-12:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-hostingplans-13:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-knowledgebase-1:hover,.tv-h-knowledgebase-4:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-knowledgebase-2:hover{border-color:#e2cfa4;transform:translateY(-2px);box-shadow:0 20px 40px -18px rgba(28,77,112,0.14);transition:all 0.28s ease}.tv-h-knowledgebase-3:hover{background:#fbf6ec;transition:all 0.28s ease}.tv-h-knowledgebase-5:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-news-1:hover{border-color:#e2cfa4;transform:translateY(-4px);box-shadow:0 20px 40px -18px rgba(28,77,112,0.16);transition:all 0.28s ease}.tv-h-news-2:hover{background:#fbf6ec;transition:all 0.28s ease}.tv-h-news-3:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-newsitem-1:hover,.tv-h-newsitem-2:hover,.tv-h-newsitem-3:hover{border-color:#e2cfa4;transition:all 0.28s ease}.tv-h-newsitem-4:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-partners-1:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-partners-2:hover,.tv-h-partners-4:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-partners-3:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-sharedhosting-1:hover{opacity:0.9;transform:translateY(-1px);transition:all 0.28s ease}.tv-h-sharedhosting-2:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-sharedhosting-3:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-support-1:hover,.tv-h-support-2:hover,.tv-h-support-3:hover,.tv-h-support-4:hover{border-color:#2f7fb0;transform:translateY(-2px);box-shadow:0 22px 44px -20px rgba(47,127,176,0.3);transition:all 0.28s ease}.tv-h-support-5:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-support-6:hover,.tv-h-support-7:hover,.tv-h-support-8:hover,.tv-h-support-9:hover{border-color:#2f7fb0;transition:all 0.28s ease}.tv-h-systemstatus-1:hover,.tv-h-tickettracking-1:hover,.tv-h-tickettracking-2:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-whyus-1:hover{border-color:#e2cfa4;transform:translateY(-2px);box-shadow:0 20px 40px -18px rgba(28,77,112,0.14);transition:all 0.28s ease}.tv-h-whyus-2:hover{background:#1c4d70;transition:all 0.28s ease}.tv-h-whyus-3:hover{background:#f5ead2;transition:all 0.28s ease}.tv-h-wordpresshosting-1:hover,.tv-h-wordpresshosting-3:hover,.tv-h-wordpresshosting-5:hover{background:#e6ecff;transition:all 0.28s ease}.tv-h-wordpresshosting-2:hover{opacity:0.9;transition:all 0.28s ease}.tv-h-wordpresshosting-4:hover{background:#0a2ea8;transition:all 0.28s ease}
/* Header nested dropdown menus (pure-CSS hover) */
.hdr-menu-item{position:relative;display:inline-block}
.hdr-menu-panel{position:absolute;top:100%;left:0;padding-top:8px;z-index:20;display:none}
.hdr-menu-item:hover .hdr-menu-panel,.hdr-menu-item:focus-within .hdr-menu-panel{display:block}
.hdr-menu-panel-inner{background:#fffdf9;border:1px solid #ece3ce;border-radius:16px;box-shadow:0 24px 48px -12px rgba(28,77,112,0.18);padding:10px;display:grid;gap:2px}
