/*
Theme Name: Arizona Computer Guru
Theme URI: https://azcomputerguru.com
Author: Arizona Computer Guru
Author URI: https://azcomputerguru.com
Description: A custom theme built for Arizona Computer Guru
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: azcomputerguru
*/

/* COLORS */

:root {
  --color1:#333d49;
  --color2:#fe7400;
  --color3:#113559;
  --color4:#ffffff;
  --color5:#000000;
  --color6:#4d4d4d;
}

@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');

/* Reset */

*{
margin: 0px;
padding: 0px;
border: 0px;
font-family: inherit;
font-size: inherit;
line-height: inherit;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

*:before,
*:after{
box-sizing: inherit;
}

html, body,h1, h2, h3, h4, h5, h6,a, p, span,em, small, strong,sub, sup,mark, del, ins, strike,abbr, dfn,blockquote, q, cite,code, pre,ol, ul, li, dl, dt, dd,div, section, article,main, aside, nav,header, hgroup, footer,img, figure, figcaption,address, time,audio, video,canvas, iframe,details, summary,fieldset, form, label, legend,table, caption,tbody, tfoot, thead,tr, th, td{
margin: 0;
padding: 0;
border: 0;
}

a,
a:visited{
color: inherit;
}

article,
aside,
footer,
header,
nav,
section,
main{
display: block;
}

img{max-width:100%;}

/* Top-level styles */

*{transition: all 0.2s ease;}

html{
  scroll-behavior: smooth;
  font:16px/1.4em Segoe UI, sans-serif;
}
body{
  font-family: "Lexend", sans-serif;
  background:url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/10/guru-site-bg.png) top center fixed;
  background-size:cover;
	padding-top:8.5rem;
}
h1{font-size:2rem;}
h2{font-size:1.6rem;}
h3{font-size:1.2rem;}
h1,h2,h3{
  line-height:1em;
  margin-bottom:1rem;
  font-weight:normal;
}
p{margin-bottom:1rem;}
.alignleft{
    float:left;
    margin:1rem 1rem 1rem 0;
}
.aligncenter{
    margin:1rem auto 1rem auto;
}
.alignright{
    float:right;
    margin:1rem 0rem 1rem 1rem;
}
.more-link{
    text-decoration:none;
    color:var(--color2);

}
.more-link:hover{
    color:var(--color4);
}

/* Structure elements */

.wrapper{
  width:80%;
  margin:0 auto 0 auto;
}
.flexwrap{display:flex;}

/* Above Header */

.above-header{
	width:100%;
    background: #dbdbdb;
    background: linear-gradient(0deg, rgba(219, 219, 219, 1) 0%, rgba(255, 255, 255, 1) 100%);
	position:fixed;
	top:0;
	left:0;
	z-index:100;
}
.above-header .widget{
    flex:1;
    line-height:2em;
    font-weight:200;
    text-transform:uppercase;
}
.above-header .widget:nth-of-type(2){
    text-align:right;
    font-style:italic;
    color:#585858;
    text-transform:lowercase;
}
.above-header p{
    margin:0;
    padding:0;
}
.above-header a{
    color:var(--color2);
    text-decoration:none;
}

/* Header */
header{
	width:100%;
    background-color: #fff;
    border-bottom:2px var(--color2) solid;
	position:fixed;
	left:0;
	top:2rem;
	z-index:100;
}

.site-title{
    font-size: 2em;
    font-weight: bold;
}

.site-description {
    font-size: 1em;
    color: #666;
}
.header-right{
    flex:2;
}

header.scrolled .header-left{
	flex:1;
}
header.scrolled .header-right{
	flex:6;
}

/* Navigation */
header nav{
    width:100%;
}

.menu{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding:0 0 0 12rem;
    justify-content:space-between;
    text-align:right;
}

header.scrolled .menu{padding:0 0 0 20rem;}

#menu-main > .current-menu-item:not(.page-item-17){
  border-bottom: 2px var(--color2) solid;
}
.menu-item .current-menu-item{
	padding-bottom:1rem;
}

.menu .menu-item a{
    display:block;
    text-decoration:none;
    text-transform:uppercase;
    font-size:1.2rem;
    font-weight:400;
    line-height:3em;
	padding:0 1rem 0 1rem;
}
#menu-main .menu-item:hover a{
    color:var(--color4);
	background:var(--color2);
}

.menu > .menu-item:last-child a{
    background:var(--color2);
    color:var(--color4);
    border:4px var(--color2) solid;
    padding:0 1.6rem 0 1.6rem;
    box-sizing: border-box;
}
.menu > .menu-item:last-child:hover a{
    color:var(--color2);
    background:var(--color4);
}

/* Nav Level 2 */

.sub-menu{
  background:#efefef;
  width:100%;
	height:0;
  overflow:hidden;
  position: absolute;
  left:0;
  z-index:-100;
  border-top: 5px var(--color2) solid;
  border-bottom: 5px var(--color2) solid;
	text-align:left;
	opacity: 0;
	transition: opacity 250ms ease 0s;
}
#menu-main > li > .sub-menu{
	padding:1rem 10% 1rem 40%
}
.menu .menu-item:hover .sub-menu, .menu .menu-item .sub-menu:hover{
  display:flex;
  gap:1rem;
  height:auto;
  text-align:left;
  opacity:1;
	z-index:100;
}
.menu .menu-item .sub-menu .menu-item{
  list-style-type:none;
  text-align:left;
  width:25%;
  background:none!important;
  color:var(--color1)!important;
}
.menu .menu-item .sub-menu .menu-item a{
  padding:0.5rem;
  font-size:1rem;
  text-align:left;
  color:var(--color3);
  font-weight:bold;
  background:#efefef!important;
  color:var(--color1)!important;
  border-bottom:1px var(--color2) dotted;
	margin-bottom:1rem;
}
.dropdown-toggle{
  display:none;
}

/* Nav Level 3 */

.sub-menu .sub-menu{
  flex-direction: column;
  transform: none;
  position: static;
  border: none;
  background:none;
}
.sub-menu .sub-menu .menu-item{
	width:100%!important;
}
.sub-menu .sub-menu .menu-item a{
  color:var(--color2)!important;
  border:none!important;
  font-weight:300!important;
  text-transform:capitalize;
  padding:0!important;
  line-height:1em;
}
.sub-menu .sub-menu .menu-item:hover a{
  color:var(--color3)!important;
  font-style:italic;
}
.sub-menu .sub-menu .menu-item a span{
  display:block;
  font-size:.8em;
  color:var(--color3);
  font-style:italic;
  font-weight:200;
}
.sub-menu .sub-menu .menu-item:hover a span{
  color:var(--color2);
  font-style:normal;
}

/*  Nav Mobile */

.mobile-menu-icon{
  display:none;
  width:100vw;
  background: var(--color2)!important;
  color:var(--color4);
  padding:1rem;
  position:fixed;
  bottom:0;
}
.mobile-menu-icon .line{
  width:25px;
  height:5px;
  background-color:var(--color4);
  margin:5px auto 5px auto;
}
.close{
  display:none;
  width: 32px;
  height: 32px;
  text-align:center;
  margin:2px auto 2px auto;
}
.close:hover{opacity: 1;}
.close:before, .close:after{
  position:absolute;
  text-align:center;
  content: ' ';
  height: 32px;
  width: 2px;
  background-color:var(--color3);
}
.close:before{transform: rotate(45deg);}
.close:after{transform: rotate(-45deg);}

/* Feature */

.feature .wrapper{
  width:100%;
}

.home .feature{
    background:#fff;
    font-weight:200;
    border-bottom:2px var(--color2) solid;
    color:var(--color6);
}   
.home .feature .widget{
    background:none;
    font-size:1.65rem;
    line-height:1.2em;
}
.home .feature .widget h1{
    font-size:8rem;
    font-weight:600;
    color:var(--color2);
}
.home .feature .widget h1 div{
    display:block;
    font-size:4rem;
    font-weight:200;
    font-style:italic;
    color:var(--color3);
    margin-top:-2rem;
}
.feature .more-link{
    display:block;
    width:25%;
    font-size:1.5rem;
    text-transform:uppercase;
    text-align:center;
    margin-top:3rem;
    background:var(--color2);
    color:var(--color4);
    padding:1rem;
}
.feature .feature-content{
  flex:1;
  padding:6rem 0 6rem 10%;
}
.feature-accent{
  flex:1.5;
  background:url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/10/fp-gurucube.png) center center no-repeat;
  background-size:cover;
}

/* Columns: Upper */

.columns-upper .flexwrap{
    justify-content:space-between;
}

.columns-upper .widget{
    flex:1;
    background:var(--color2);
    color:var(--color4);
    padding:1.5rem 1.5rem 1.5rem 3rem;
    margin:5rem .5rem 5rem .5rem;
    min-height:10rem;
    font-weight:200;
    font-size:2rem;
    line-height:1.2em;
}
.columns-upper .widget h2{
    font-size:1.7rem;
}
.columns-upper .more-link{
    text-decoration:none;
    font-size:1.5rem;
    font-weight:400;
    color:var(--color4);
}
.columns-upper .more-link:hover{
    color:var(--color3);
}

/* Above Content */

.home .above-content{
    background:rgba(21, 25, 28, 0.9);
    color:var(--color4);
    padding:10rem 0 10rem 0;
    font-size:1.4rem;
    font-weight:300;
    line-height:1.2em;
}
.home .above-content h2{
    font-size:3rem;
    font-weight:300;
    margin-bottom:2em;
	text-align:center;
}
.home .above-content .more-link{
    text-decoration:none;
    color:var(--color2);
}
.home .above-content .more-link:hover{
  color:#fff;
}

/* Content */

main{
  background:var(--color4);
  padding:2rem 0 2rem 0;
}

.home main{
    background:rgba(255, 255, 255, 0.9);
    padding:0 0 10rem 0;
}
main article{
    line-height: 1.6em;
    font-size: 1.2rem;
    font-weight: 300;
}
main article .title{
    font-size:3rem;
    padding-top:6rem;
}
main article .title span{
    font-size:2rem;
    font-weight:300;
}
main article h2.highlight{
  color:var(--color2);
  font-weight:500;
  font-size:2.2rem;
}
main article h3.highlight{
  font-size:1.6rem;
  font-weight:400;
}

.gurucube{
  float:right;
  margin:0;
  padding:0;
}
main article .more-link{
	color:var(--color2);
	border:2px var(--color2) solid;
	padding:1rem;
}
main article .more-link:hover{
	background:var(--color2);
}
main article .breakout{
  margin:2rem 0 2rem 0;
  width:100%;
  border:1px var(--color3) solid;
  padding:2rem;
  font-size:1.4rem;
}
.breakout-icon{
  padding:1rem;
  flex:1;
}
.breakout-icon img{
  width:100%;
}
.breakout-content{
  flex:9;
}
.breakout-content h2{
  color:var(--color2);
}

/* Main Page Boxes */

.button-row{
  width:100%;
  flex-wrap:wrap;
}
.button-box{
    flex-grow:1;
    width:23%;
    height:25rem;
    border:15px var(--color2) solid;
    margin:1rem;
    position:relative;
}
.button-box a > div{
  width:100%;
}
.button-box a > div:nth-of-type(2){

}
.button-box > a > p{
  display:none;
}
.button-box .fi{
  display:inline-block;
  font-size:4rem;
  margin:3rem 1rem 1rem 1rem;
}
.button-box a{
    display:block;
    width:100%;
    height:100%;
    text-decoration:none;
    color:var(--color2);
    font-size:2.5rem;
    text-transform:uppercase;
    font-weight:bold;
    line-height:1.4em;
}
.button-box p{
  padding:1rem;
}
.button-box:hover p{
  position:absolute;
  bottom:0;
  left:0;
}
.button-box:hover{
    
}
.button-box a p{
  width:100%;
}
.button-box a:hover p{
    background:rgba(237, 114, 0,0.8);
    color:var(--color4);
}

/* BELOW CONTENT AREA */

.below-content{
  -webkit-box-shadow: inset 2px -30px 28px 30px #000000; 
  box-shadow: inset 2px -200px 200px 10px #000000;
}
.home .below-content h2{
    display:block;
    width:100%;
    color:var(--color4);
    text-align:center;
    font-size:6rem;
    font-weight:200;
    padding:15rem 30rem 15rem 30rem;
    margin-bottom:0;
}
.home .below-content h2 span{
    font-weight:600;
}

/* Footer */

.site-footer {
    background: #323C48;
    background: linear-gradient(126deg, rgba(50, 60, 72, 1) 0%, rgba(6, 13, 23, 1) 100%);
    color:var(--color4);
}
.site-footer p{
    margin:0;
}
.site-footer ul li{
    list-style-type:none;
}
.site-footer ul li a{
    text-decoration:none;
    color:var(--color2);
    line-height:3em;
    text-transform:uppercase;
    font-weight:200;
}

.site-footer .flexwrap{
    justify-content:space-between;
}
.site-footer .widget{
    padding-top:5rem;
}
.site-footer .widget:nth-of-type(1) p{
    font-size:1.4rem;
    padding-bottom:2rem;
}
.site-footer .widget:nth-of-type(1) p span{
    font-size:1rem;
    font-weight:200;
    text-transform:uppercase;
}
.site-footer .widget .last{
    border-top:2px var(--color2) dotted;
    padding-top:1rem;
}

.site-footer .forminator-input,
.site-footer .forminator-textarea{
    background:none;
    border:2px var(--color2) solid;
    color:var(--color4);
    font-size:1.4rem;
}

.backtotop{
  display:block;
  width:100px;
  margin:1rem auto 1rem auto;
}

/* Credit */

.credit{
    text-align:center;
    font-weight:200;
    line-height:2em;
}

/* Global Extras */

#wpadminbar{display:none;}

.social-float{
  position:fixed;
  bottom:30%;
  right:0;
  width:5rem;
  min-height:20rem;
  background:#ffffff;
}
.social-float ul li{
  list-style-type:none;
  margin-bottom:0.25rem;
}
.social-float ul li:hover{
  background:var(--color2);
}
.social-float ul li a{
  display:block;
  padding:1rem;
}
.social-float ul li img{
  width:100%;
}

.spacer-bar{
  margin:2rem 0 1rem 0;
  padding:0.5rem;
  border:3px #282828 solid;
  border-bottom:0px;
}

.boxes .box{
  padding:1rem;
  flex:1;
}
.boxes .box img{
  width:100%!important;
  height:auto!important;
}

.clearfix{
  display:block;
  clear:both;
  width:100%;
  margin:0;
  padding:0;
}

.service-title{
  display: flex;
  align-items: flex-start;
  gap: 0.5ch;
  line-height: 1.3;
}

.arrow {
  flex-shrink: 0;
}

/* Regular Page Template */

.page main{
  padding:0;
}

.page-title-inner{
  background:url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/10/guru-page-headerbanner.png) top center no-repeat;
  background-size:cover;
}
.page-title .title{
  color:var(--color4);
  font-size:3rem!important;
  line-height:2em;
  padding-top:4em;
}

.page main article{
  padding:4rem 0 4rem 0;
}

.page-template-default:not(.home) .above-content .content{
  flex:1;
  font-size:1.4rem;
  font-weight:300;
  padding:4rem 0 0 10%;
}
.page-template-default:not(.home) .above-content .content p{
  width:75%;
  line-height:1.2em;
}
.page-template-default:not(.home) .above-content .graphic{
  flex:1;
}
.page-template-default:not(.home) .above-content .content h2{
  font-size:2.2rem;
  margin-bottom:2rem;
  color:var(--color5);
  border:none;
}
.page-template-default:not(.home) .above-content .content h3{
  color:var(--color2);
  font-style:italic;
  font-size:2.6rem;
  font-weight:600;
}
.page-template-default:not(.home) .above-content .content h3::before {
      content: '\2713'; /* Unicode for check mark */
      padding-right:1rem;
}
.page-template-default:not(.home) .above-content .widget:nth-of-type(1){
  background:#fff;
}
.page-template-default:not(.home) .above-content .widget:nth-of-type(2){
  background:rgba(56, 57, 61, .9);
  padding:8rem 0 8rem 0;
  color:var(--color4);
  text-align:center;
}

.page-template-default:not(.home) .above-content h2,
.page-template-default:not(.home) .above-content h3,
.page-template-default:not(.home) .above-content h4{
  margin:0;
}
.page-template-default:not(.home) .above-content h2{
  display:inline-block;
  margin:0 auto 1rem auto;
  font-size:3.5rem;
  font-weight:400;
  color:var(--color2);
  padding:0 0 1rem 0;
  border-bottom:5px var(--color2) dotted;
}
.page-template-default:not(.home) .above-content h2 span{
  color:var(--color4);
}
.page-template-default:not(.home) .above-content h3{
  color:var(--color4);
  font-size:2rem;
  margin-bottom:1rem;
}
.page-template-default:not(.home) .above-content h3 span{
  font-size:3rem;
}
.page-template-default:not(.home) .above-content h4{
  font-size:1.4rem;
  color:var(--color2);
}

/* Landing Page Template */

.page-template-page-landingpage{}
.page-template-page-landingpage main{
  padding:0;
}
.page-template-page-landingpage main > .wrapper{
  width:100%;
}
.page-template-page-landingpage main article{
  padding:0;
}
.landing-page-feature{
  color:#fff;
  padding-bottom:2rem;
}
.landing-page-feature .wrapper{
  width:40%;
  margin:0 0 0 10%;
}
.landing-page-feature h1{
  font-size:4rem!important;
  font-weight:500;
}
.page-template-page-landingpage .more-link{
  display:block;
  width:25%;
  padding:1rem;
  background:var(--color2);
  color:var(--color4);
  margin:4rem 0 4rem 0;
  text-align:center;
  text-transform:uppercase;
}
.page-template-page-landingpage .more-link:hover{
  background:var(--color4);
  color:var(--color2);
}

.page-template-page-landingpage .above-content{
  padding:6rem 0 6rem 0;
  background:var(--color2);
  color:var(--color4);
}
.page-template-page-landingpage .above-content .widget{
  font-size:1.8rem;
  line-height:1.4em;
  font-weight:200;
}
.testimonial > div:nth-of-type(1){
  flex:1;
}
.testimonial > div:nth-of-type(2){
  flex:18;
}
.testimonial > div:nth-of-type(3){
  flex:1;
}

.page-template-page-landingpage .content{
  padding:6rem 0 6rem 0;
}
.page-template-page-landingpage .content h2{
  font-size:3rem;
  font-weight:500;
  line-height:1.2em;
}
.page-template-page-landingpage .content h2 span{
  font-weight:300;
}
.page-template-page-landingpage .content .more-link{
  width:16rem;
}

.below-content{
  color:var(--color4);
  background:rgba(56, 57, 61, .9)
}
.below-content .widget{
  padding:6rem 0 6rem 0;
  font-size:1.4rem;
  line-height:1.4em;
  font-weight:200;
}
.below-content h2{
  color:var(--color2);
  font-size:3rem;
}
.below-content .flexwrap > div:nth-of-type(1){
  flex:2;
  padding-right:16rem;
}
.page-template-page-landingpage .below-content .flexwrap > div:nth-of-type(2){
  flex:1;
}

/* Page-Specific */

/* Business IT Page */

.page-id-269{}

.page-id-269 .landing-page-feature{
  background:url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/10/LeadBannerImage_BusinessITServices.jpg) center center fixed no-repeat;
  background-size:cover;
  box-shadow: inset 2px -600px 400px 10px rgba(0,0,0,0.75);
}

/* Web Services Page */

.page-id-62{}
.page-id-62 .landing-page-feature{
  background:url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/10/webdesign-graphic.png) right center fixed no-repeat;
  background-size:50%;
  color:var(--color3);
}
.page-id-62 .below-content .widget:nth-of-type(1){
  background:#01101f;
}

.page-id-62 .below-content .widget:nth-of-type(1) .flexwrap > div{
  flex:1;
}
.page-id-62 .below-content .widget:nth-of-type(1) .flexwrap > div:nth-of-type(1){
  padding-right:4rem;
}

/* Contact Page */

.page-id-305{

}
.page-id-305 article{
  flex:3;
  padding-right:2rem!important;
}
.page-id-305 aside{
  flex:1;
  padding:1rem;
}

.forminator-ui#forminator-module-338.forminator-design--default .forminator-button-submit{
  background-color:var(--color2)!important;
}

/* Hosting Page Price Table */

.servicetable{
  width:100%;
  margin:6rem auto 6rem auto;
  justify-content:space-between;
}
.servicetable-box{
  border:1px var(--color3) solid;
  background:#efefef;
}
.servicetable-box.highlight{
  background:#242424;
  color:#efefef;
  border:1px var(--color2) solid;
}
.servicetable-box:nth-of-type(2){
  margin:-3rem 3rem 0 3rem;
}
.servicetable-box > div{
  padding:1rem;
}
h2.servicetable-highlight{
  text-transform:uppercase;
  font-size:2rem!important;
  font-style:normal!important;
  text-align:center!important;
  padding:0.5rem 0 0.5rem 0!important;
}
.servicetable-box h2{
  font-size:2.4rem;
  font-weight:500;
  font-style:italic;
  padding:0;
  margin:0;
}
.servicetable-box h2.highlight{
  color:var(--color5);
  line-height:2em;
  border-bottom:3px var(--color2) solid;
  padding:0 1rem 0 1rem;
}
.servicetable-box.highlight h2.highlight{
  background:var(--color2);
  color:var(--color4);
}
.servicetable-box h3{
  color:var(--color2);
  line-height:2em;
  font-style:italic;
  font-weight:400;
}
.servicetable-box ul li{
  list-style-type:none;
  line-height:2em;
}
.servicetable-box ul li.highlight{
  color:var(--color2);
}
.servicetable-box .fine-print{
  margin:1rem 0 1rem 0; 
  font-size:.9rem;
  font-style:italic;
}

.terms{
  font-size:.9rem;
}

/* Category Template */

.container{
  background:#fff;
}
.container .site-content{
  width:80%;
  margin:0 auto 0 auto;
  padding:1rem;
}

.category main{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.category main article{
  width:32%;
  border:1px var(--color2) solid;
  padding:1rem;
  margin-bottom:1rem;
}
main article header{
  border:0;
}
.category main article img{
  width:100%;
  height:auto;
  border:0;
}
main article .entry-meta,
main article .entry-footer{
  font-size:.9rem;
  font-style:italic;
  margin:1em 0 1em 0;
}

/* Media Queries / Responsive */

@media (min-width:2500px){

}
@media (max-width:1920px){
  html{font-size:14px;}
  .wrapper{width:80%;}
  nav{
    padding-top:1.5rem;
  }
  nav .menu{
    padding:0;
  }
  .menu .menu-item a{
    font-size:1.2rem;
  }
  .logo{
    width:80%;
  }
.home .feature .widget h1{
    font-size:6rem;
}
.home .feature .widget h1 div{
    padding-top:1rem;
}
.sub-menu{
  position:absolute;
  top:3rem;
}
.feature-accent{flex:1;}
.columns-upper .widget h2, .columns-upper .widget{
  font-size:1.6rem;
}
main article .title{
  padding-top:4rem;
}
.button-box {
  width: 22%;
  height: 20rem;
  border: 12px var(--color2) solid;
}
.button-box a{
  font-size:2rem;
}
.home .below-content h2 {
  padding: 10rem 20rem 10rem 20rem;
}
}

@media (max-width:1700px){
  html{font-size:12px;}
}

@media (max-width:1600px){
  html{font-size:13px;}
}

@media (max-width:1500px){
  html{font-size:12px;}
  .header-left{flex:1;}
  .header-right{flex:1.5;}
  footer img{max-width:300px;float:right;margin-bottom:1rem;}
}

@media (max-width:1400px){
  .button-box{height:18rem;border:8px var(--color2) solid;}
  .button-box a{font-size:1.6rem;}
}


/* PHONE LAYOUT */

@media (max-width:1200px){

/* HIDE THESE ELEMENTS ON MOBILE */

.above-header,
.feature-accent
{display:none;}

html{font-size:16px;}
body{overflow-x:hidden;padding-bottom:4rem;
  background: url(https://dev.computerguru.me/acg2025/wp-content/uploads/2025/08/acg-phone-bg.png) top center fixed repeat;
  background-size: cover;
  position:relative;
}
.wrapper{width:100%;}

/* HEADER / LOGO */

header .flexwrap{
  flex-direction:column;
}
header .logo{
  width:100%;
  margin:2rem 0 2rem 0;
}
header h1{margin:0;}

/* FEATURE AREA */

.feature .flexwrap{
  flex-direction:column;
}
.feature .feature-content{
  padding:1rem;
}
.home .feature .widget h1{
  font-size:3rem;
  text-align:center;
}
.home .feature .widget h1 div{
  font-size:2rem;
  line-height:3em;
}
.feature-content{
  text-align:center;
}
.feature .more-link{
  width:80%;
  margin:2rem auto 1rem auto;
}
.landing-page-feature .wrapper{
  margin:0;
  padding:1rem;
  width:100%;
}
.page-template-page-landingpage .more-link{
  width:75%;
  margin:1rem auto 1rem auto;
}
.page-template-page-landingpage .above-content{
  padding:1rem;
}
.breakout-icon{
  display:none;
}

/* UPPER COLUMNS */

.columns-upper .flexwrap{
  flex-direction:column;
}

.columns-upper .widget {
  flex: 1;
  background: var(--color2);
  color: var(--color4);
  padding: 1rem;
  margin:1rem 0 0 0;
  min-height: 10rem;
  font-weight: 200;
  font-size: 2rem;
  line-height: 1.2em;
}

/* ABOVE CONTENT AREA */

.home .above-content{
  padding:1rem;
}

.above-content .widget{
  padding:1rem;
  text-align:center;
}

.home .above-content h2{
  font-size:2rem;
}

/* MAIN CONTENT AREA */

.page main article{
  padding:1rem;
}

main article .title{
  padding:0;
}

.page-title .title {
  font-size: 2rem !important;
  line-height: 2em;
  padding-top:0;
  text-align:center;
}

/* BELOW CONTENT AREA */

.below-content{}
.below-content .flexwrap{
  flex-direction:column;
}
.below-content .flexwrap > div:nth-of-type(1){
  padding:1rem!important;
}
.home .below-content h2{
  padding:1rem;
  font-size:3rem;
}

/* FOOTER */

footer .flexwrap{
  flex-direction:column;
}
footer .widget{
  padding:1rem 1rem 4rem 1rem!important;
}

footer img{
  float:none;
  display:block;
  width:90%;
  margin:1rem auto 1rem auto;
}

/* EXTRAS */

.alignleft,
.aligncenter,
.alignright,
.home .gurucube{
  float:none;
  display:block;
  width:100%;
  margin:0;
  padding:1rem;
}

.button-row.flexwrap{
  flex-direction:column;
}
.button-box{width:90%;}

/* NAVIGATION */

nav{height:auto;}
nav .menu{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  background:var(--color2);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateY(-100%);
  opacity:0;
  padding:1ch;
  z-index:9999;
}
nav .menu li{width:100%;margin:0.5ch 0 0.5ch 0;}
nav .menu li a{font-size:1rem;color:var(--color4);text-align:center;font-size:1.4rem;line-height:1.6em;}
nav .menu li:hover a{background:var(--color2);color:var(--color4);}
nav .menu li:hover .sub-menu, nav .menu li:active .sub-menu{width:100%!important;}
nav .menu li:hover a, nav .menu li:active a, nav .menu li.current-menu-item a{color:var(--color3);}
.mobile-menu-icon{display:block;z-index:100;border-top:2px var(--color3) solid;}
.nav-active{transform:translateY(0%)!important;opacity:1!important;position:fixed!important;z-index:100000;}
nav ul li a{}
nav ul li:hover .sub-menu, nav ul li:active .sub-menu{
  position:static;
  display:block;
}
nav ul li:hover .sub-menu li, nav ul li:active .sub-menu li{
  background:;
  line-height:1.6rem;
  width:100%;
  margin:0;
}
.menu-active .line{display:none;}
.menu-active .close{display:block;}
.menu .sub-menu{
  flex-direction: column;
  transform: none;
}
.menu .menu-item .sub-menu .menu-item a{
  background:none;
}
.menu .menu-item:hover a{
  color:var(--color4);
}

.social-float{
  position:fixed;
  bottom:4rem;
  left:0;
  width:100vw;
  min-height:0;
  border-top:1px var(--color3) solid;
}
.social-float ul{
  display:flex;
  justify-content:space-around;
}

}
/* ===================================
   CUSTOM HEADER SHRINK MODIFICATIONS
   Added by Claude - Enhanced Header Shrinking
   =================================== */

/* More aggressive shrinking on scroll */
header.scrolled .menu {
    padding: 0.25rem 0 0 20rem !important;
}

/* Shrink logo when scrolled */
header .logo {
    transition: all 0.3s ease;
}

header.scrolled .logo {
    max-width: 200px;
    margin: 0.5rem 0;
}

/* Ensure all menu items have consistent vertical alignment */
.menu .menu-item {
    display: flex;
    align-items: center;
}

.menu .menu-item a {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    display: inline-block;
    line-height: 1.2;
}

/* Reduce vertical padding in scrolled state for all menu items */
header.scrolled .menu .menu-item a {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Make header transition smooth */
header {
    transition: all 0.3s ease;
}

/* Adjust header-left when scrolled to be even smaller */
header.scrolled .header-left {
    flex: 0.8 !important;
}

/* Fine-tune the overall header height when scrolled */
header.scrolled {
    padding: 0.25rem 0;
}


/* ===================================
   ALIGN MENU ITEMS WITH LOGO
   Added by Claude - Vertical Alignment Fix
   =================================== */

/* Ensure header flexbox centers items vertically */
header .flexwrap {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
}

/* Remove excessive top padding from menu */
.menu {
    padding: 0 !important;
    margin: 0 !important;
    align-items: center;
}

/* Ensure header-left and header-right are vertically centered */
.header-left,
.header-right {
    display: flex;
    align-items: center;
}

/* Remove top padding when scrolled */
header.scrolled .menu {
    padding: 0 !important;
}

/* Fine-tune logo positioning */
header .logo {
    margin: 0.5rem 0;
}

header.scrolled .logo {
    margin: 0.25rem 0;
}

/* Ensure navigation takes full width and centers content */
header nav {
    width: 100%;
    display: flex;
    align-items: center;
}


/* ===================================
   FIX MENU HORIZONTAL POSITIONING
   Keep menu on right, align vertically with logo
   =================================== */

/* Restore horizontal positioning but keep vertical alignment */
.menu {
    padding: 0 0 0 12rem !important; /* Keep left padding, remove top padding */
    margin: 0 !important;
    align-items: center;
}

/* When scrolled, maintain right-side positioning */
header.scrolled .menu {
    padding: 0 0 0 20rem !important; /* Keep left padding, remove top padding */
}

/* Ensure menu spreads across available space */
.menu {
    justify-content: space-between !important;
    flex: 1;
}

/* ===================================
   SINGLE-LINE HEADER FIX
   Menu and logo on same line, minimal height
   =================================== */

/* Remove all previous overrides and fix properly */

/* Header container - single row, minimal height */
header {
    padding: 0.5rem 0 !important;
}

header.scrolled {
    padding: 0.25rem 0 !important;
}

/* Header flexbox - everything in one row, vertically centered */
header .flexwrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0 !important;
}

/* Logo container - minimal space */
.header-left {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
}

/* Logo sizing - small enough to fit in single line */
header .logo {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
    margin: 0 !important;
}

header.scrolled .logo {
    width: 140px !important;
    max-width: 140px !important;
}

/* Menu container - take remaining space */
.header-right {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
}

/* Menu - single line, no wrapping */
.menu {
    list-style: none !important;
    display: flex !important;
    flex-wrap: nowrap !important; /* NO WRAPPING */
    padding: 0 !important;
    margin: 0 !important;
    gap: 1.5rem !important;
    justify-content: flex-end !important; /* Align to right */
    align-items: center !important; /* Vertical center */
    width: 100% !important;
}

header.scrolled .menu {
    padding: 0 !important;
    gap: 1.2rem !important;
}

/* Menu items - inline, centered */
.menu .menu-item {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.menu .menu-item a {
    padding: 0.25rem 0.5rem !important;
    display: inline-block !important;
    white-space: nowrap !important; /* Don't break text */
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* Remote support button - inline with menu */
.menu .menu-item a[href*=remote] {
    padding: 0.5rem 1rem !important;
    display: inline-block !important;
}

header.scrolled .menu .menu-item a {
    padding: 0.2rem 0.4rem !important;
}

header.scrolled .menu .menu-item a[href*=remote] {
    padding: 0.4rem 0.8rem !important;
}

/* Navigation wrapper */
header nav {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Submenu positioning */
.sub-menu {
    top: 100% !important;
}


/* ===================================
   FIX HORIZONTAL POSITION CONSISTENCY
   Menu items stay in same horizontal position, only move vertically
   =================================== */

/* Use SAME gap spacing in both normal and scrolled states */
.menu {
    gap: 1.5rem !important; /* Keep same gap always */
}

header.scrolled .menu {
    gap: 1.5rem !important; /* Same gap when scrolled - no horizontal shift */
}

/* Use space-between to maintain item positions */
.menu {
    justify-content: space-between !important;
    margin-left: auto !important; /* Push to right side */
    max-width: 650px !important; /* Control max width for consistent spacing */
}

/* Ensure no padding changes that would shift horizontally */
header.scrolled .menu {
    margin-left: auto !important;
    max-width: 650px !important;
}

/* Override any conflicting left padding */
.menu {
    padding-left: 0 !important;
}

header.scrolled .menu {
    padding-left: 0 !important;
}


/* ===================================
   VERSION INDICATOR
   Shows in top bar for cache checking
   =================================== */

.above-header .wrapper::after {
    content: ' | v9.22 ' !important;
    color: #fe7400 !important;
    font-weight: 700 !important;
    font-size: 0.9em !important;
    margin-left: 1rem !important;
}


/* ===================================
   VERSION INDICATOR - MORE VISIBLE
   Shows at end of top bar text
   =================================== */

/* Add version to the right side of top bar */
.above-header {
    position: relative !important;
}

.above-header::before {
    content: 'v9.22am' !important;
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #fe7400 !important;
    font-weight: 700 !important;
    font-size: 0.85em !important;
    background: white !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    border: 1px solid #fe7400 !important;
}


/* ===================================
   FIX MENU WIDTH - MAINTAIN HORIZONTAL POSITIONS
   Version 9.28 - Menu stays same width in both states
   =================================== */

/* Remove max-width constraint that was causing shrinking */
.menu {
    max-width: none !important; /* Remove width constraint */
    min-width: 650px !important; /* Ensure minimum width maintained */
    width: auto !important;
}

header.scrolled .menu {
    max-width: none !important;
    min-width: 650px !important; /* Same minimum width when scrolled */
    width: auto !important;
}

/* Ensure header-right takes consistent space */
.header-right {
    flex: 1 !important;
    min-width: 700px !important; /* Maintain width */
}

header.scrolled .header-right {
    flex: 1 !important;
    min-width: 700px !important; /* Same width when scrolled */
}

/* Update version indicator */
.above-header::before {
    content: 'v9.28' !important;
}


/* ===================================
   FIX NORMAL STATE TO MATCH SCROLLED STATE
   Version 9.30 - Both states have same horizontal positioning
   =================================== */

/* Make normal state match scrolled state positioning */
.menu {
    justify-content: flex-end !important; /* Right-align like scrolled state */
    min-width: auto !important; /* Remove min-width constraint */
    max-width: none !important;
    width: auto !important;
}

header.scrolled .menu {
    justify-content: flex-end !important; /* Keep same alignment */
    min-width: auto !important;
    max-width: none !important;
    width: auto !important;
}

/* Remove flex constraints on header-right */
.header-right {
    min-width: auto !important;
}

header.scrolled .header-right {
    min-width: auto !important;
}

/* Update version indicator */
.above-header::before {
    content: 'v9.30' !important;
}


/* ===================================
   RESTORE CORRECT MENU POSITIONING
   Version 9.36 - Both states use space-between
   =================================== */

/* Use space-between for both states to spread menu items */
.menu {
    justify-content: space-between !important; /* Spread items like normal state */
    min-width: 650px !important; /* Maintain consistent width */
    max-width: 650px !important; /* Lock width */
    width: 650px !important;
}

header.scrolled .menu {
    justify-content: space-between !important; /* Same spread when scrolled */
    min-width: 650px !important;
    max-width: 650px !important;
    width: 650px !important; /* Same width as normal state */
}

/* Ensure header-right provides consistent space */
.header-right {
    flex: 1 !important;
    display: flex !important;
    justify-content: flex-end !important; /* Push menu to right */
}

header.scrolled .header-right {
    flex: 1 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

/* Update version indicator */
.above-header::before {
    content: 'v9.36' !important;
}


/* ===================================
   VERSION UPDATE - NO CACHE TEST
   Version 9.40 - Cache busting enabled
   =================================== */

/* Update version indicator to v9.40 */
.above-header::before {
    content: 'v9.40-NO-CACHE' !important;
    background: #ffeb3b !important; /* Yellow to indicate no-cache mode */
    color: #000 !important;
    font-weight: 900 !important;
}


/* ===================================
   FIX HEADER STACKING AND POSITIONING
   Version 9.42 - Correct layer order and sticky positioning
   =================================== */

/* Ensure gray bar is always on top */
.above-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important; /* Higher than header */
}

/* Main header below gray bar in normal state */
header {
    position: fixed !important;
    top: 2rem !important; /* Below gray bar */
    left: 0 !important;
    width: 100% !important;
    z-index: 999 !important; /* Below gray bar */
}

/* When scrolled, header moves to top (0) */
header.scrolled {
    top: 0 !important; /* Stick to very top of screen */
}

/* Update version */
.above-header::before {
    content: 'v9.42' !important;
}


/* ===================================
   HIDE GRAY BAR WHEN SCROLLED
   Version 9.43 - Gray bar disappears, header takes full top
   =================================== */

/* Hide the above-header (gray bar) when page is scrolled */
body.scrolled .above-header {
    transform: translateY(-100%) !important;
    transition: transform 0.3s ease !important;
}

/* Or alternatively, use display none */
header.scrolled ~ .above-header {
    display: none !important;
}

/* Actually, let's use a body class approach */
/* We need to add scrolled class to body, not just header */

/* Update version */
.above-header::before {
    content: 'v9.43' !important;
}


/* ===================================
   HEADER COVERS GRAY BAR WHEN SCROLLED
   Version 9.44 - Header moves to top and covers gray bar
   =================================== */

/* When scrolled, header has higher z-index to cover gray bar */
header.scrolled {
    z-index: 1001 !important; /* Higher than gray bar (1000) */
    top: 0 !important; /* Move to very top */
}

/* Update version */
.above-header::before {
    content: 'v9.44' !important;
}


/* ===================================
   FIX UNSCROLLED STATE ISSUES
   Version 9.47 - Menu positioning and gap fixes
   =================================== */

/* Close gap - add proper top margin for fixed header + gray bar */
.feature {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body {
    padding-top: 6rem !important; /* Account for gray bar (2rem) + header (~4rem) */
}

/* When scrolled, reduce body padding (no gray bar showing) */
body:has(header.scrolled) {
    padding-top: 4rem !important; /* Just header height */
}

/* Fix menu positioning in unscrolled state - ensure it spreads properly */
header:not(.scrolled) .menu {
    width: 650px !important;
    margin-left: auto !important; /* Push to right */
    padding-left: 0 !important;
}

/* Scrolled state - same positioning */
header.scrolled .menu {
    width: 650px !important;
    margin-left: auto !important;
    padding-left: 0 !important;
}

/* Update version */
.above-header::before {
    content: 'v9.47' !important;
}


/* ===================================
   SHIFT UNSCROLLED MENU TO THE RIGHT
   Version 9.51 - Match scrolled state positioning
   =================================== */

/* Add left padding to push menu items further right in unscrolled state */
header:not(.scrolled) .menu {
    padding-left: 100px !important; /* Push menu right to match scrolled state */
}

/* Keep scrolled state as is (looks perfect) */
header.scrolled .menu {
    padding-left: 0 !important; /* No padding needed when scrolled */
}

/* Ensure header-right gives enough space */
.header-right {
    padding-right: 20px !important;
}

/* Update version */
.above-header::before {
    content: 'v9.51' !important;
}


/* ===================================
   INCREASE UNSCROLLED MENU PADDING
   Version 9.56 - Push menu much further right
   =================================== */

/* Significantly increase left padding to match scrolled state */
header:not(.scrolled) .menu {
    padding-left: 350px !important; /* Much more padding to push right */
}

/* Update version */
.above-header::before {
    content: 'v9.56' !important;
}


/* ===================================
   FIX DUPLICATE VERSION AND FINE-TUNE ALIGNMENT
   Version 9.58 - Remove old version, adjust padding
   =================================== */

/* Hide the old v9.22 version wrapper after */
.above-header .wrapper::after {
    display: none !important;
}

/* Increase padding slightly more for perfect alignment */
header:not(.scrolled) .menu {
    padding-left: 420px !important; /* Fine-tuned for perfect alignment */
}

/* Update version (only the ::before should show now) */
.above-header::before {
    content: 'v9.58' !important;
}


/* ===================================
   MATCH MENU SPACING IN BOTH STATES
   Version 9.59 - Same gap/spacing for scrolled and unscrolled
   =================================== */

/* Ensure both states have identical spacing between menu items */
.menu {
    gap: 1.5rem !important; /* Match unscrolled spacing */
}

header.scrolled .menu {
    gap: 1.5rem !important; /* Same spacing as unscrolled */
}

/* Ensure menu items use same spacing */
.menu .menu-item {
    margin: 0 !important;
}

header.scrolled .menu .menu-item {
    margin: 0 !important;
}

/* Update version */
.above-header::before {
    content: 'v9.59' !important;
}


/* ===================================
   LOCK HORIZONTAL POSITION - NO SHIFTING
   Version 10.00 - Same padding in BOTH states
   =================================== */

/* Use EXACT same padding for both states */
header .menu,
header.scrolled .menu {
    padding-left: 0 !important;
    margin-left: auto !important;
    width: 650px !important;
    max-width: 650px !important;
    min-width: 650px !important;
}

/* Ensure header-right provides consistent space in both states */
.header-right,
header.scrolled .header-right {
    display: flex !important;
    justify-content: flex-end !important;
    padding-right: 20px !important;
}

/* Remove any conflicting unscrolled-specific padding */
header:not(.scrolled) .menu {
    padding-left: 0 !important; /* Same as scrolled! */
}

/* Update version */
.above-header::before {
    content: 'v10.00' !important;
}


/* ===================================
   RESTORE POSITIONING WITH IDENTICAL PADDING
   Version 10.01 - Both states use 420px padding
   =================================== */

/* Use SAME padding for BOTH states - this is the key! */
header .menu {
    padding-left: 420px !important;
}

header.scrolled .menu {
    padding-left: 420px !important; /* SAME as unscrolled */
}

/* Both states use same everything */
header:not(.scrolled) .menu {
    padding-left: 420px !important;
}

/* Update version */
.above-header::before {
    content: 'v10.15' !important;
}

/* ===================================
   HEADER SCROLL FIX - Clean Implementation
   Keeps menu items in fixed horizontal position
   =================================== */

/* Reset problematic flex ratios - use fixed widths instead */
.header-left {
    flex: 0 0 220px !important;  /* Fixed width, won't change on scroll */
    display: flex !important;
    align-items: center !important;
}

.header-right {
    flex: 1 1 auto !important;  /* Takes remaining space */
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* Override the scrolled flex changes - keep same widths */
header.scrolled .header-left {
    flex: 0 0 160px !important;  /* Slightly smaller for logo shrink */
}

header.scrolled .header-right {
    flex: 1 1 auto !important;  /* Same as unscrolled */
}

/* Logo sizing */
header .logo {
    width: 200px !important;
    max-width: 200px !important;
    transition: width 0.3s ease, max-width 0.3s ease;
}

header.scrolled .logo {
    width: 140px !important;
    max-width: 140px !important;
}

/* Menu - fixed width, right-aligned */
.menu {
    display: flex !important;
    justify-content: flex-end !important;  /* Always align right */
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;  /* Natural width based on content */
    max-width: none !important;
}

/* Remove all left padding overrides */
header .menu,
header.scrolled .menu {
    padding-left: 0 !important;
}

/* Menu items - consistent sizing */
.menu .menu-item a {
    padding: 0.5rem 0.8rem !important;
    white-space: nowrap !important;
    font-size: 1.1rem !important;
}

header.scrolled .menu .menu-item a {
    padding: 0.3rem 0.6rem !important;
}

/* Header container */
header .flexwrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Smooth transitions */
header,
header .logo,
.header-left,
.header-right,
.menu,
.menu .menu-item a {
    transition: all 0.3s ease !important;
}
/* ===================================
   HEADER SCROLL FIX v2
   - Logo large when unscrolled, small when scrolled
   - Menu always right-aligned to edge
   - Menu items stay in same horizontal position
   =================================== */

/* Header container */
header .flexwrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Logo - large by default */
.header-left {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
}

header .logo {
    width: 350px !important;
    max-width: 350px !important;
    height: auto !important;
    transition: all 0.3s ease !important;
}

/* Logo - shrink when scrolled */
header.scrolled .logo {
    width: 180px !important;
    max-width: 180px !important;
}

/* Menu container - always right-aligned */
.header-right {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* Navigation full width of container */
header nav {
    display: flex !important;
    justify-content: flex-end !important;
}

/* Menu - right-aligned, fixed position from right edge */
.menu {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Menu items */
.menu .menu-item {
    display: flex !important;
    align-items: center !important;
}

.menu .menu-item a {
    padding: 0.5rem 1rem !important;
    white-space: nowrap !important;
}

/* Remove all the old flex ratio changes */
header .header-left,
header.scrolled .header-left {
    flex: 0 0 auto !important;
}

header .header-right,
header.scrolled .header-right {
    flex: 1 !important;
}

/* Remove old padding hacks */
header .menu,
header.scrolled .menu {
    padding-left: 0 !important;
}

/* Smooth transitions */
header,
header .logo,
.header-left,
.header-right {
    transition: all 0.3s ease !important;
}
/* ===================================
   DROPDOWN MENU FIX v3
   - Full width dropdown
   - Clean layout with readable text
   - Proper spacing and alignment
   =================================== */

/* Dropdown container */
.sub-menu {
    background: #f5f5f5 !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    position: absolute !important;
    left: 0 !important;
    top: 100% !important;
    z-index: 1000 !important;
    border-top: 4px solid var(--color2) !important;
    border-bottom: 4px solid var(--color2) !important;
    padding: 2rem 10% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2rem !important;
    justify-content: flex-start !important;
}

/* Show dropdown on hover */
.menu > .menu-item:hover > .sub-menu,
.menu > .menu-item > .sub-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
}

/* Top-level dropdown columns */
#menu-main > li > .sub-menu > .menu-item {
    flex: 0 0 auto !important;
    min-width: 200px !important;
    max-width: 280px !important;
    background: none !important;
    padding: 0 1rem !important;
}

/* Column headers (Business I.T., Web Services) */
#menu-main > li > .sub-menu > .menu-item > a {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--color3) !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid var(--color2) !important;
    padding: 0 0 0.5rem 0 !important;
    margin-bottom: 1rem !important;
    display: block !important;
    background: none !important;
    line-height: 1.4 !important;
}

#menu-main > li > .sub-menu > .menu-item > a:hover {
    color: var(--color2) !important;
    background: none !important;
}

/* Nested sub-menu (the actual service items) */
.sub-menu .sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    width: 100% !important;
}

/* Individual service items */
.sub-menu .sub-menu .menu-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sub-menu .sub-menu .menu-item a {
    display: block !important;
    padding: 0.4rem 0 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    color: var(--color1) !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    border: none !important;
    background: none !important;
    white-space: normal !important;
}

.sub-menu .sub-menu .menu-item a:hover {
    color: var(--color2) !important;
    background: none !important;
}

/* Service item description text */
.sub-menu .sub-menu .menu-item a span {
    display: block !important;
    font-size: 0.8rem !important;
    color: #666 !important;
    font-style: italic !important;
    font-weight: 300 !important;
    margin-top: 0.2rem !important;
}

.sub-menu .sub-menu .menu-item a:hover span {
    color: var(--color3) !important;
}
/* ===================================
   MEGA MENU v4 - Samsung-inspired
   - Smooth slide-down transition
   - Clean white background
   - Organized columns
   - Elegant typography
   =================================== */

/* Reset previous dropdown styles */
.menu .menu-item:hover .sub-menu,
.menu .menu-item .sub-menu:hover {
    display: flex !important;
}

/* Main dropdown container */
.sub-menu {
    background: #ffffff !important;
    width: 100vw !important;
    position: fixed !important;
    left: 0 !important;
    top: auto !important;
    margin-top: 0 !important;
    z-index: 9999 !important;
    border-top: 3px solid var(--color2) !important;
    border-bottom: none !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15) !important;
    padding: 0 !important;
    
    /* Transition setup */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease !important;
    
    /* Layout */
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 0 !important;
}

/* Show dropdown with smooth animation */
.menu > .menu-item:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    height: auto !important;
}

/* Inner wrapper for content */
#menu-main > li > .sub-menu {
    padding: 3rem 10% !important;
}

/* Column containers */
#menu-main > li > .sub-menu > .menu-item {
    flex: 0 0 280px !important;
    padding: 0 2rem !important;
    border-right: 1px solid #eee !important;
    background: none !important;
}

#menu-main > li > .sub-menu > .menu-item:last-child {
    border-right: none !important;
}

/* Column headers */
#menu-main > li > .sub-menu > .menu-item > a {
    display: block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--color3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 0 1rem 0 !important;
    margin-bottom: 1.5rem !important;
    border-bottom: 2px solid var(--color2) !important;
    background: none !important;
    line-height: 1.3 !important;
    transition: color 0.2s ease !important;
}

#menu-main > li > .sub-menu > .menu-item > a:hover {
    color: var(--color2) !important;
    background: none !important;
}

/* Nested submenu (service items list) */
.sub-menu .sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
}

/* Individual service items */
.sub-menu .sub-menu .menu-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.sub-menu .sub-menu .menu-item a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    padding: 0.6rem 0 !important;
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-transform: none !important;
    line-height: 1.4 !important;
    border: none !important;
    background: none !important;
    white-space: normal !important;
    transition: color 0.2s ease, padding-left 0.2s ease !important;
}

.sub-menu .sub-menu .menu-item a:hover {
    color: var(--color2) !important;
    background: none !important;
    padding-left: 0.5rem !important;
}

/* Description text under items */
.sub-menu .sub-menu .menu-item a span {
    display: block !important;
    font-size: 0.8rem !important;
    color: #888 !important;
    font-style: normal !important;
    font-weight: 300 !important;
    margin-top: 0.15rem !important;
    line-height: 1.3 !important;
}

.sub-menu .sub-menu .menu-item a:hover span {
    color: #666 !important;
}

/* Overlay effect when menu is open (optional) */
header:has(.menu-item:hover .sub-menu)::after {
    content: '' !important;
    position: fixed !important;
    top: 100% !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.3) !important;
    z-index: 999 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

/* Icon styling if present */
.sub-menu .sub-menu .menu-item a .fi,
.sub-menu .sub-menu .menu-item a i {
    flex-shrink: 0 !important;
    width: 20px !important;
    color: var(--color2) !important;
}
/* ===================================
   MEGA MENU v5 - Complete Rewrite
   =================================== */

/* First level dropdown (Services dropdown) */
#menu-main > .menu-item-has-children > .sub-menu {
    background: #ffffff !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    top: 100% !important;
    z-index: 9999 !important;
    
    border-top: 3px solid var(--color2) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
    
    /* Hidden by default */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.25s ease !important;
    
    /* Layout */
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important;
    padding: 2.5rem 5% !important;
    gap: 3rem !important;
    
    height: auto !important;
    overflow: visible !important;
}

/* Show on hover */
#menu-main > .menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Second level - Column containers (Business I.T., Web Services) */
#menu-main > .menu-item-has-children > .sub-menu > .menu-item {
    flex: 0 0 auto !important;
    min-width: 220px !important;
    max-width: 300px !important;
    padding: 0 2rem !important;
    border-right: 1px solid #e5e5e5 !important;
    background: transparent !important;
    list-style: none !important;
}

#menu-main > .menu-item-has-children > .sub-menu > .menu-item:last-child {
    border-right: none !important;
}

/* Column header links */
#menu-main > .menu-item-has-children > .sub-menu > .menu-item > a {
    display: block !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: var(--color3) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 0 0 0.75rem 0 !important;
    margin-bottom: 1.25rem !important;
    border-bottom: 2px solid var(--color2) !important;
    background: transparent !important;
    line-height: 1.4 !important;
}

#menu-main > .menu-item-has-children > .sub-menu > .menu-item > a:hover {
    color: var(--color2) !important;
    background: transparent !important;
}

/* Third level - Nested submenu (actual service items) */
#menu-main .sub-menu .sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    gap: 0.25rem !important;
}

/* Individual service items */
#menu-main .sub-menu .sub-menu > .menu-item {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

#menu-main .sub-menu .sub-menu > .menu-item > a {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.6rem !important;
    padding: 0.5rem 0.25rem !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-transform: none !important;
    line-height: 1.35 !important;
    border: none !important;
    background: transparent !important;
    white-space: normal !important;
    border-radius: 4px !important;
    transition: all 0.15s ease !important;
}

#menu-main .sub-menu .sub-menu > .menu-item > a:hover {
    background: #f5f5f5 !important;
    color: var(--color2) !important;
    padding-left: 0.5rem !important;
}

/* Icons */
#menu-main .sub-menu .sub-menu > .menu-item > a i,
#menu-main .sub-menu .sub-menu > .menu-item > a .fi {
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
    color: var(--color2) !important;
    font-size: 1rem !important;
}

/* Description spans */
#menu-main .sub-menu .sub-menu > .menu-item > a span {
    display: block !important;
    font-size: 0.75rem !important;
    color: #888 !important;
    font-weight: 300 !important;
    font-style: normal !important;
    margin-top: 2px !important;
    line-height: 1.3 !important;
}

#menu-main .sub-menu .sub-menu > .menu-item > a:hover span {
    color: #666 !important;
}

/* Blog dropdown - simpler single column */
#menu-item-1117 > .sub-menu {
    min-width: 200px !important;
    width: auto !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    padding: 1rem !important;
    flex-direction: column !important;
    gap: 0 !important;
}

#menu-item-1117 > .sub-menu > .menu-item {
    border: none !important;
    padding: 0 !important;
    min-width: unset !important;
    max-width: unset !important;
}

#menu-item-1117 > .sub-menu > .menu-item > a {
    display: block !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    text-transform: none !important;
    border: none !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
    border-radius: 4px !important;
}

#menu-item-1117 > .sub-menu > .menu-item > a:hover {
    background: #f5f5f5 !important;
}
/* ===================================
   MEGA MENU - Clean Rebuild
   =================================== */

/* Reset all previous submenu styles */
.sub-menu,
.menu .sub-menu,
#menu-main .sub-menu,
#menu-main > li > .sub-menu,
#menu-main .sub-menu .sub-menu {
    all: unset !important;
}

/* ========== SERVICES MEGA MENU ========== */

/* Main dropdown container */
#menu-item-1112 > .sub-menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    top: 100%;
    
    background: #fff;
    border-top: 3px solid var(--color2);
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
    
    padding: 3rem 10%;
    box-sizing: border-box;
    
    flex-direction: row;
    justify-content: center;
    gap: 4rem;
    
    z-index: 10000;
}

#menu-item-1112:hover > .sub-menu {
    display: flex;
    animation: menuFadeIn 0.25s ease forwards;
}

@keyframes menuFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Column containers (Business I.T., Web Services) */
#menu-item-1112 > .sub-menu > li {
    list-style: none;
    min-width: 250px;
    flex: 0 1 300px;
}

/* Column headers */
#menu-item-1112 > .sub-menu > li > a {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
    border-bottom: 3px solid var(--color2);
    text-decoration: none;
}

#menu-item-1112 > .sub-menu > li > a:hover {
    color: var(--color2);
}

/* Service items container */
#menu-item-1112 .sub-menu .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Individual service items */
#menu-item-1112 .sub-menu .sub-menu li {
    list-style: none;
}

#menu-item-1112 .sub-menu .sub-menu li a {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    margin: 0 -0.75rem;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: background 0.15s ease, transform 0.15s ease;
}

#menu-item-1112 .sub-menu .sub-menu li a:hover {
    background: #f8f8f8;
    transform: translateX(4px);
}

/* Icons */
#menu-item-1112 .sub-menu .sub-menu li a i,
#menu-item-1112 .sub-menu .sub-menu li a .fi {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--color2);
    background: rgba(254, 116, 0, 0.1);
    border-radius: 4px;
    padding: 4px;
}

/* Service name and description wrapper */
#menu-item-1112 .sub-menu .sub-menu li a {
    flex-wrap: wrap;
}

/* Service name text (not in span) */
#menu-item-1112 .sub-menu .sub-menu li a {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
}

/* Description span */
#menu-item-1112 .sub-menu .sub-menu li a span {
    display: block;
    width: 100%;
    font-size: 0.8rem;
    font-weight: 400;
    color: #777;
    margin-top: 0.15rem;
    margin-left: calc(24px + 0.75rem);
}

#menu-item-1112 .sub-menu .sub-menu li a:hover span {
    color: #555;
}


/* ========== BLOG DROPDOWN ========== */

#menu-item-1117 > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    
    background: #fff;
    border-top: 3px solid var(--color2);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
    border-radius: 0 0 8px 8px;
    
    padding: 0.75rem 0;
    min-width: 180px;
    
    flex-direction: column;
    z-index: 10000;
}

#menu-item-1117:hover > .sub-menu {
    display: flex;
    animation: menuFadeIn 0.2s ease forwards;
}

#menu-item-1117 > .sub-menu > li {
    list-style: none;
}

#menu-item-1117 > .sub-menu > li > a {
    display: block;
    padding: 0.6rem 1.25rem;
    font-size: 0.9rem;
    color: #333;
    text-decoration: none;
    transition: background 0.15s ease;
}

#menu-item-1117 > .sub-menu > li > a:hover {
    background: #f5f5f5;
    color: var(--color2);
}


/* ========== RESPONSIVE ========== */

@media (max-width: 1200px) {
    #menu-item-1112 > .sub-menu {
        padding: 2rem 5%;
        gap: 2rem;
    }
    
    #menu-item-1112 > .sub-menu > li {
        min-width: 200px;
        flex: 1 1 45%;
    }
}

@media (max-width: 768px) {
    #menu-item-1112 > .sub-menu {
        flex-direction: column;
        gap: 2rem;
        padding: 1.5rem;
    }
    
    #menu-item-1112 > .sub-menu > li {
        flex: 1 1 100%;
        min-width: unset;
    }
}
/* ===================================
   MEGA MENU v2 - Full Width Grid
   =================================== */

/* Override previous mega menu styles */
#menu-item-1112 > .sub-menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    top: 100%;
    
    background: #fff;
    border-top: 3px solid var(--color2);
    box-shadow: 0 25px 50px rgba(0,0,0,0.15);
    
    padding: 2.5rem 8%;
    box-sizing: border-box;
    
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 2rem 3rem;
    
    z-index: 10000;
}

#menu-item-1112:hover > .sub-menu {
    display: flex;
    animation: menuFadeIn 0.25s ease forwards;
}

/* Section headers (Business I.T., Web Services) - Full width */
#menu-item-1112 > .sub-menu > li {
    list-style: none;
    flex: 0 0 100%;
    display: flex;
    flex-direction: column;
}

#menu-item-1112 > .sub-menu > li > a {
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color2);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid var(--color2);
    text-decoration: none;
    width: fit-content;
}

#menu-item-1112 > .sub-menu > li > a:hover {
    color: var(--color3);
    border-color: var(--color3);
}

/* Service items grid */
#menu-item-1112 .sub-menu .sub-menu {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem 2.5rem;
    width: 100%;
}

/* Individual service cards */
#menu-item-1112 .sub-menu .sub-menu li {
    list-style: none;
}

#menu-item-1112 .sub-menu .sub-menu li a {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    margin: -0.5rem;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
    background: transparent;
}

#menu-item-1112 .sub-menu .sub-menu li a:hover {
    background: #f9f9f9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Icon container */
#menu-item-1112 .sub-menu .sub-menu li a i,
#menu-item-1112 .sub-menu .sub-menu li a .fi {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--color2);
    background: rgba(254, 116, 0, 0.1);
    border-radius: 8px;
}

/* Text content - wrap service name and description */
#menu-item-1112 .sub-menu .sub-menu li a {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--color3);
}

/* Description */
#menu-item-1112 .sub-menu .sub-menu li a span {
    display: block;
    width: 100%;
    font-size: 0.85rem;
    font-weight: 400;
    color: #666;
    margin-top: 0.25rem;
    line-height: 1.5;
}

#menu-item-1112 .sub-menu .sub-menu li a:hover span {
    color: #444;
}

/* Divider between sections */
#menu-item-1112 > .sub-menu > li:not(:first-child) {
    border-top: 1px solid #eee;
    padding-top: 2rem;
    margin-top: 0.5rem;
}


/* ========== BLOG DROPDOWN - Keep simple ========== */
#menu-item-1117 > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    
    background: #fff;
    border-top: 3px solid var(--color2);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
    border-radius: 0 0 8px 8px;
    
    padding: 0.5rem 0;
    min-width: 180px;
    
    flex-direction: column;
    z-index: 10000;
}

#menu-item-1117:hover > .sub-menu {
    display: flex;
    animation: menuFadeIn 0.2s ease forwards;
}

#menu-item-1117 > .sub-menu > li {
    list-style: none;
}

#menu-item-1117 > .sub-menu > li > a {
    display: block;
    padding: 0.65rem 1.5rem;
    font-size: 0.9rem;
    color: #333;
    text-decoration: none;
    transition: all 0.15s ease;
}

#menu-item-1117 > .sub-menu > li > a:hover {
    background: #f5f5f5;
    color: var(--color2);
}


/* ========== RESPONSIVE ========== */
@media (max-width: 1400px) {
    #menu-item-1112 .sub-menu .sub-menu {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}

@media (max-width: 1024px) {
    #menu-item-1112 > .sub-menu {
        padding: 2rem 5%;
    }
    
    #menu-item-1112 .sub-menu .sub-menu {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1rem 1.5rem;
    }
}

@media (max-width: 768px) {
    #menu-item-1112 .sub-menu .sub-menu {
        grid-template-columns: 1fr;
    }
}

/* ===================================
   MEGA MENU OVERLAY EFFECT
   Dims and blurs background when menu open
   =================================== */

/* Create overlay pseudo-element on body */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 9998;
    pointer-events: none;
}

/* Show overlay when Services menu is hovered */
body:has(#menu-item-1112:hover > .sub-menu)::after,
body:has(#menu-item-1117:hover > .sub-menu)::after {
    opacity: 1;
    visibility: visible;
}

/* Ensure header stays above overlay */
header {
    z-index: 10001 !important;
}

/* Ensure dropdowns stay above overlay */
#menu-item-1112 > .sub-menu,
#menu-item-1117 > .sub-menu {
    z-index: 10002 !important;
}

/* ===================================
   MEGA MENU OVERLAY FIX
   Remove :has() approach, use class-based
   =================================== */

/* Disable the :has() based overlay */
body::after {
    display: none !important;
}

/* New overlay element approach */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 9998;
    pointer-events: none;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ===================================
   FIX MENU HOVER GAP
   Bridge the gap between menu item and dropdown
   =================================== */

/* Extend the clickable/hoverable area of menu items with dropdowns */
#menu-item-1112,
#menu-item-1117 {
    position: relative;
}

/* Create invisible bridge between menu item and dropdown */
#menu-item-1112::after,
#menu-item-1117::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 20px; /* Bridge the gap */
    background: transparent;
}

/* Ensure the dropdown connects seamlessly */
#menu-item-1112 > .sub-menu,
#menu-item-1117 > .sub-menu {
    margin-top: 0 !important;
    top: calc(100% + 0px) !important;
}

/* Extend hover zone on the menu link itself */
#menu-item-1112 > a,
#menu-item-1117 > a {
    padding-bottom: 1.5rem !important;
    margin-bottom: -1rem !important;
}

/* ===================================
   FIX MENU ALIGNMENT v10.10
   Reset and properly align dropdown
   =================================== */

/* Force full-width dropdown alignment */
#menu-item-1112 > .sub-menu {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    top: auto !important;
    margin-top: 3px !important;
    
    display: none;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 4rem !important;
    
    padding: 2.5rem 10% !important;
    background: #fff !important;
    border-top: 3px solid var(--color2) !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
}

#menu-item-1112:hover > .sub-menu {
    display: flex !important;
}

/* Remove the extended padding that's causing issues */
#menu-item-1112 > a,
#menu-item-1117 > a {
    padding-bottom: 0.5rem !important;
    margin-bottom: 0 !important;
}

/* Keep the hover bridge but make it work better */
#menu-item-1112::after,
#menu-item-1117::after {
    content: '';
    position: absolute;
    left: -10px;
    right: -10px;
    top: 100%;
    height: 15px;
    background: transparent;
}

/* Column containers side by side */
#menu-item-1112 > .sub-menu > li {
    flex: 0 0 auto !important;
    min-width: 280px !important;
    max-width: 350px !important;
}
/* ===================================
   MEGA MENU FINAL - Complete Override
   v10.11
   =================================== */

/* Reset ALL submenu styles completely */
.sub-menu,
.menu .sub-menu,
.menu > li > .sub-menu,
.menu .sub-menu .sub-menu,
#menu-main .sub-menu,
#menu-main > li > .sub-menu,
#menu-main .sub-menu .sub-menu,
#menu-item-1112 > .sub-menu,
#menu-item-1117 > .sub-menu {
    all: revert !important;
    box-sizing: border-box !important;
}

/* ========== SERVICES MEGA MENU ========== */

#menu-item-1112 {
    position: static !important;
}

#menu-item-1112 > .sub-menu {
    display: none !important;
    position: fixed !important;
    top: 130px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    
    background: #ffffff !important;
    border-top: 3px solid #fe7400 !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
    
    padding: 40px 10% !important;
    margin: 0 !important;
    
    flex-direction: row !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 60px !important;
    
    z-index: 99999 !important;
    list-style: none !important;
}

#menu-item-1112:hover > .sub-menu {
    display: flex !important;
}

/* Scrolled state - menu is higher */
header.scrolled ~ * #menu-item-1112 > .sub-menu,
.scrolled #menu-item-1112 > .sub-menu {
    top: 70px !important;
}

/* Column containers (Business I.T., Web Services) */
#menu-item-1112 > .sub-menu > li {
    display: block !important;
    list-style: none !important;
    min-width: 280px !important;
    max-width: 320px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Column headers */
#menu-item-1112 > .sub-menu > li > a {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #113559 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    padding: 0 0 10px 0 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 3px solid #fe7400 !important;
    background: none !important;
}

#menu-item-1112 > .sub-menu > li > a:hover {
    color: #fe7400 !important;
}

/* Service items list */
#menu-item-1112 > .sub-menu > li > .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    position: static !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* Individual service items */
#menu-item-1112 > .sub-menu > li > .sub-menu > li {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#menu-item-1112 > .sub-menu > li > .sub-menu > li > a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 10px !important;
    margin: 0 -10px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    color: #333 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    background: transparent !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

#menu-item-1112 > .sub-menu > li > .sub-menu > li > a:hover {
    background: #f5f5f5 !important;
    transform: translateX(4px) !important;
}

/* Icons */
#menu-item-1112 > .sub-menu > li > .sub-menu > li > a i,
#menu-item-1112 > .sub-menu > li > .sub-menu > li > a .fi {
    flex-shrink: 0 !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    color: #fe7400 !important;
    background: rgba(254, 116, 0, 0.1) !important;
    border-radius: 6px !important;
}

/* Description text */
#menu-item-1112 > .sub-menu > li > .sub-menu > li > a span {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #888 !important;
    margin-top: 2px !important;
}

/* Hover bridge */
#menu-item-1112::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    height: 20px !important;
    background: transparent !important;
}

/* ========== BLOG DROPDOWN ========== */

#menu-item-1117 {
    position: relative !important;
}

#menu-item-1117 > .sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    
    background: #ffffff !important;
    border-top: 3px solid #fe7400 !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12) !important;
    border-radius: 0 0 8px 8px !important;
    
    padding: 8px 0 !important;
    margin: 0 !important;
    min-width: 180px !important;
    
    flex-direction: column !important;
    list-style: none !important;
    z-index: 99999 !important;
}

#menu-item-1117:hover > .sub-menu {
    display: flex !important;
}

#menu-item-1117 > .sub-menu > li {
    display: block !important;
    list-style: none !important;
}

#menu-item-1117 > .sub-menu > li > a {
    display: block !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    color: #333 !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
}

#menu-item-1117 > .sub-menu > li > a:hover {
    background: #f5f5f5 !important;
    color: #fe7400 !important;
}

#menu-item-1117::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
    height: 15px !important;
    background: transparent !important;
}

/* ===================================
   FIX HOVER GAP v10.12
   =================================== */

/* Make menu item position relative for the bridge */
#menu-item-1112 {
    position: relative !important;
}

/* Dropdown positioned from the menu item, not fixed to viewport */
#menu-item-1112 > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    margin-top: 0 !important;
}

/* Invisible hover bridge that's part of the menu item */
#menu-item-1112 > a {
    position: relative !important;
}

#menu-item-1112 > a::after {
    content: '' !important;
    position: absolute !important;
    left: -20px !important;
    right: -20px !important;
    top: 100% !important;
    height: 25px !important;
    background: transparent !important;
}

/* Also add bridge to the submenu itself at the top */
#menu-item-1112 > .sub-menu::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -25px !important;
    height: 25px !important;
    background: transparent !important;
}

/* Same for Blog */
#menu-item-1117 > a::after {
    content: '' !important;
    position: absolute !important;
    left: -20px !important;
    right: -20px !important;
    top: 100% !important;
    height: 20px !important;
    background: transparent !important;
}

#menu-item-1117 > .sub-menu::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -20px !important;
    height: 20px !important;
    background: transparent !important;
}

/* ===================================
   FIX ALIGNMENT + HOVER v10.13
   =================================== */

/* Keep menu item relative for bridge, but dropdown fixed for full width */
#menu-item-1112 {
    position: relative !important;
}

#menu-item-1112 > .sub-menu {
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    transform: none !important;
    margin-top: 15px !important;
}

/* The key: make the bridge part of the link extend INTO the gap */
#menu-item-1112 > a {
    position: relative !important;
    padding-bottom: 25px !important;
    margin-bottom: -10px !important;
}

/* Remove the ::after on the link - padding handles it now */
#menu-item-1112 > a::after {
    display: none !important;
}

/* Submenu bridge at top */
#menu-item-1112 > .sub-menu::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -20px !important;
    height: 20px !important;
    background: transparent !important;
}

/* Same for Blog */
#menu-item-1117 > a {
    position: relative !important;
    padding-bottom: 20px !important;
    margin-bottom: -5px !important;
}

#menu-item-1117 > a::after {
    display: none !important;
}

#menu-item-1117 > .sub-menu {
    margin-top: 5px !important;
}

#menu-item-1117 > .sub-menu::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -15px !important;
    height: 15px !important;
    background: transparent !important;
}
