/*_header*/
header, header a, header img, header li {
    transition: all .05s;
    -moz-transition: all .05s;
    /* Firefox 4 */
    -webkit-transition: all .05s;
    /* Safari and Chrome */
    -o-transition: all .05s;
    /* Opera */
}
header{float: left;
  width: 100%;
  position: fixed;
  z-index: 2000;
  background: rgba(255, 255, 255, 0);
  float: left;
  width: 100%;
  max-width: 1920px;
  }
/*________________MENU*/


.trans{
display: none !important;
}

.cta-button {
  display: inline-block;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  font-family: Inter, system-ui, sans-serif;

  color: white;
  background: linear-gradient(135deg, #0a84ff, #2563eb);
  border-radius: 999px;
  text-decoration: none;

  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  transition: all 0.25s ease;
}

.cta-button:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 10px 28px rgba(0,0,0,0.25);
}

.cta-button:active {
  transform: scale(0.98);
}

#menu ul li.nav-cta a{
background:#0066ff;
color:#ffffff !important;

padding:10px 22px;
border-radius:25px;

margin-left:12px;

font-weight:600;
display:inline-block;

transition:all .25s ease;
}

#menu ul li.nav-cta a:hover{

background:#0044cc;
color:#fff !important;

box-shadow:0 4px 12px rgba(0,0,0,.25);

transform:translateY(-2px);

}
nav {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
nav #header_right {
    width: 80%;
    float: right;
    padding: 0;
    margin: 0;
}


header.large #menu li.active a, header.small #menu li.active a, header.large #menu li a:hover, header.small #menu li a:hover {
    color: #004D4D;
}

header  #menu ul {
    list-style-type: none;
    float: right;
}

header #menu  ul:nth-of-type(2) {
    margin: 0;
}

header  #menu li {
    display: inline-block;
}

header img.logo {
    float: left;
}



/* _____________________large language */

header #language a {
    margin: 0  0 0 1.2em !important;
}
header.large #language {
    padding: 0 ;
    margin: 2.5em 0 0 1em;
    list-style-type: none;
    float: right;
    text-align: right;
    width:3em;
}
header.large #language img {
    width: 2em;
    height: auto;

    padding: 0;
  }

header.small #language {
    margin: 1.3em 0 0;
    float: right;
}
header.small #language img {
    width: 2em;
    height: auto;

    padding: 0;
  }

/* _____________________large menu */


header.large {
    height: 8em;
  background-color: rgba(255, 255, 255, 0.8);
}
header.large .logo {
    float: left;
    width: 10em;
    height: auto;
    margin: 0.5em 0 0 0;
    padding: 0.5em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-filter: drop-shadow( 2px 1px 1px rgba(0, 0, 0, 0.2));
    filter: drop-shadow( 2px 1px 1.3em rgba(0, 0, 0, 0.2));
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}


header.large .logo img {
    width: 100%;
    height: auto;
  }




header.large  #menu ul {
    padding: 0;
    margin: 1.4em 0 0;
    list-style-type: none;
    border-radius: 4px;
    float: right;
}

header.large  #menu li {
    margin: 0 0 0 2em;
    padding: 1em 0;
}



header.large  #menu ul .aktiv #menu ul {
    visibility: visible;
    display: block;
    position: relative;
    bottom: 0;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    background-image: none;
    margin: 0;
    padding-top: 1em;
}
header.large #menu ul a {
    color: #9A086F;
    text-decoration: none;
    font-size: 1em;
    letter-spacing: 0.1em;
    font-weight: 600;
    text-transform: uppercase;
}

header.large  #menu ul li :hover>a {
    color: #2f5c9c;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

header.large #menu ul li :hover>a:nth-of-type(1) {
    -webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

header.large  #menu ul ul {
    visibility: hidden;
    position: absolute;
    display: block;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    margin: 0 0 0 -0.8em !important;
    padding: 1.5em 0 1em 0em;



}

header.large  #menu ul li ul li {
    display: block;
    z-index: 3;
    float: none !important;
    border: 0px;
    padding: 0 0em 0.2em;
    margin: 0 1em 0.2em -0.4em;
    height: auto !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

/* style the second level links */
header.large  #menu ul li ul li a {
    display: table-cell;
    width: 19em;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    font-size: 0.8em;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    font-size: 1em;
    white-space: normal;
    outline: none;
    border: none !important;
    margin: 0em 0.2em 0.2em 0;
    height: 2em !important;
    padding: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: rgba(0, 0, 0, 1) !important;
    transition: none;
    background: rgba(333, 333, 333, 1);
    -webkit-box-shadow: -5px -6px 4px -5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: -5px -6px 4px -5px rgba(0, 0, 0, 0.1);
    box-shadow: -2px -4px 2px -2px rgba(0, 0, 0, 0.1);
}

header.large  #menu ul li ul li span {
    display: block;
    padding: 0;
    margin: 0 0 0 1em;
}

header.large  #menu ul li ul li span a {
    display: block;
    color: #0073a7;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.4em 0 0 5em;
    margin: 0 0 0 0;
}

/* style the second level hover */

header.large  #menu ul ul li a:hover {
    color: #d11816 !important;
    background-color: rgba(255, 255, 255, 1) !important;
}

header.large  #menu ul ul li .active {
    color: #004D4D;
 
}

/* make the second level visible when hover on first level list OR link */
header.large  #menu ul li:hover ul, header.large  #menu ul a:hover ul {
    visibility: visible;
    display: block;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    margin: 0 0 0 -0.8em !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.5em 0 1em 0em;


}

/* __________________small menu */


header.small {
    height: 5em;
    background: rgba(255, 255, 255, 1);

}


header.small .logo {

    width: 5.6em;
    height: auto;
    margin: 0.6em 0 0 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position:fixed;
  
  }
  header.small .logo img {
    width: 100%;
    height: auto;
   
}




header.small  #menu ul {
    padding: 0;
    margin: 1.3em 1em 0 0;
    list-style-type: none;
    float: right;
    text-align: right;
}

header.small #menu li {
    margin: 0 0 0 2em;
}
header.small  #menu ul li a {
    color: #9A086F;
    text-decoration: none;
    font-size: 0.9em;
    letter-spacing: 0.1em;
    font-weight: 500;
    text-transform: uppercase;
}


nav .topmenu {
    display: block;
}




header.small #menu ul .aktiv ul {
    visibility: visible;
    display: block;
    position: relative;
    bottom: 0;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    background-image: none;
    margin: 0;
    padding-top: 1em;
}

header.small #menu ul li :hover>a {
    color: #2f5c9c;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

header.small #menu ul li :hover>a:nth-of-type(1) {
    -webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

header.small #menu ul ul {
    visibility: hidden;
    position: absolute;
    display: block;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    margin: 0 0 0 -0.8em !important;
    padding: 1.5em 0 1em 0em;



}

header.small #menu ul li ul li {
    display: block;
    z-index: 3;
    float: none !important;
    border: 0px;
    padding: 0 0em 0.2em;
    margin: 0 1em 0.2em -0.5em;
    height: auto !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

/* style the second level links */
header.small #menu ul li ul li a {
    display: table-cell;
    width: 21.4em;
    font-size: 0.8em;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    font-size: 1em;
    white-space: normal;
    outline: none;
    border: none !important;
    margin: 0em 0.2em 0.2em 0;
    height: 2em !important;
    padding: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: rgba(0, 0, 0, 1) !important;
    transition: none;
    background: rgba(333, 333, 333, 1);
    -webkit-box-shadow: -5px -6px 4px -5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: -5px -6px 4px -5px rgba(0, 0, 0, 0.1);
    box-shadow: -2px -4px 2px -2px rgba(0, 0, 0, 0.1);
}

header.small #menu ul li ul li span {
    display: block;
    padding: 0;
    margin: 0 0 0 1em;
}

header.small #menu ul li ul li span a {
    display: block;
    color: #0073a7;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.4em 0 0 5em;
    margin: 0 0 0 0;
}

/* style the second level hover */

header.small #menu  ul ul li a:hover {
    color: #d11816 !important;
    background-color: rgba(255, 255, 255, 1) !important;
}

header.small #menu ul ul li .active {
    color: #d11816 !important;
    background-color: rgba(255, 255, 255, 1) !important;
}

/* make the second level visible when hover on first level list OR link */
header.small #menu ul li:hover ul, header.small #menu ul a:hover ul {
    visibility: visible;
    display: block;
    z-index: 400;
    height: auto;
    text-align: left;
    list-style-type: none;
    margin: 0 0 0 -0.8em !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.5em 0 1em 0em;


}

/* ============================
   GET STARTED CTA BUTTON
   ============================ */

header.large #menu ul li.nav-cta a,
header.small #menu ul li.nav-cta a{

background:transparent;

color:#3b82f6 !important;
border:2px solid #3b82f6;

padding:8px 22px;
border-radius:999px;

margin-left:18px;

font-weight:600;
text-transform:none;

display:inline-block;
line-height:normal;

transition:all .25s ease;

}

/* Hover effect */

header.large #menu ul li.nav-cta a:hover,
header.small #menu ul li.nav-cta a:hover{

background:#3b82f6;
color:#ffffff !important;

transform:translateY(-2px);

box-shadow:0 8px 20px rgba(0,0,0,0.25);

}

/* ===============================
COOL STYLE CONTACT PANEL
================================ */

/* Background overlay */

#contact-overlay{

position:fixed;
top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.55);

backdrop-filter:blur(6px);

opacity:0;
pointer-events:none;

transition:opacity 0.35s ease;

z-index:9998;

}

#contact-overlay.open{

opacity:1;
pointer-events:auto;

}


/* Slide-in panel */
#contact-panel {
    position: fixed;
    top: 0;
    right: -460px;
    width: 460px;
    /* This keeps it 460px on desktop but 100% on small phones */
    max-width: 100% !important; 
    height: 100vh;
    /* Increased opacity to 0.95 for better form readability */
    background: rgba(248, 250, 255, 0.95); 
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: -20px 0 60px rgba(0, 0, 0, 0.35);
    transition: right 0.45s cubic-bezier(.22, 1, .36, 1);
    /* High z-index to slide OVER the sticky footer */
    z-index: 10001 !important; 
}

#contact-panel.open{

right:0;

}


/* Content */

.contact-panel-content{

padding:48px 42px;

font-family:inherit;

}


/* Header */

.contact-panel-header{

display:flex;
justify-content:space-between;
align-items:center;

margin-bottom:30px;

}

.contact-panel-header h2{

font-size:26px;
font-weight:600;

}

#close-contact{

font-size:30px;
cursor:pointer;
opacity:0.6;

}

#close-contact:hover{

opacity:1;

}


/* Form */

#contact-form{

display:flex;
flex-direction:column;

}

#contact-form label{

font-size:13px;
margin-top:14px;
color:#666;

}

#contact-form input,
#contact-form textarea{

margin-top:6px;
padding:12px;

border:1px solid #ddd;
border-radius:6px;

font-size:14px;

transition:border 0.2s ease;

}

#contact-form input:focus,
#contact-form textarea:focus{

border-color:#3b82f6;
outline:none;

}


/* Submit button */

.submit-btn{

margin-top:26px;

background:#3b82f6;

color:white;

border:none;

padding:14px;

border-radius:6px;

font-weight:600;

cursor:pointer;

transition:all .25s ease;

}

.submit-btn:hover{

background:#2563eb;
transform:translateY(-1px);

}

.hero-feature-list {
  margin-left: 80px;
}

/* Hide sticky footer by default (Desktop) */
#sticky-footer-cta {
    display: none;
}

@media only screen and (max-width:64em) {

    /* 1. HIDE ALL DESKTOP NAV ELEMENTS */
    #header_right #menu, 
    #header_center #menu,
    #menu,
    .nav-item { 
        display: none !important;
    }

    /* 2. HEADER ANCHOR: Forced 60px height */
    header.large, 
    header.small {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 60px !important; 
        background-color: #ffffff !important;
        z-index: 2000 !important;
        border-bottom: 1px solid #eee;
        box-sizing: border-box !important;
    }

    nav {
        position: relative !important;
        width: 100% !important;
        height: 60px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 3. SLOT 1: LOGO (FAR LEFT) */
    header.large .logo, 
    header.small .logo {
        position: absolute !important;
        left: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 50px !important;
        height: auto !important;
        margin: 0 !important;
        z-index: 2100 !important;
    }

    header.large .logo img, 
    header.small .logo img {
        display: block !important;
        max-height: 36px !important; /* Slightly smaller to ensure it looks centered */
        width: auto !important;
    }

    /* 4. SLOT 2: HAMBURGER MENU (FAR RIGHT) - Nudged for vertical alignment */
    #cssmenu {
        display: block !important;
        position: absolute !important;
        /* Nudge: 59% instead of 50% to drop it a some pixels visually */
        top: 59% !important; 
        right: 0 !important; 
        width: 60px !important;
        height: 60px !important;
        transform: translateY(-50%) !important;
        z-index: 3000 !important; 
    }

    #cssmenu .button {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
    }

    /* 5. SLOT 3: LANGUAGE ICON (MIDDLE-RIGHT) */
    header.large #language, 
    header.small #language {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: absolute !important;
        right: 60px !important; 
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 32px !important;
        height: 32px !important;
        z-index: 2100 !important;
        margin: 0 !important;
    }

    header.large #language img, 
    header.small #language img {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
    }

    /* 6. DROPDOWN FIX: Ensures menu aligns to the right edge */
    #cssmenu ul {
        position: absolute !important;
        top: 60px !important;
        right: 0 !important;
        left: auto !important;
        width: 280px !important;
        background: #ffffff !important;
        box-shadow: -5px 5px 15px rgba(0,0,0,0.1);
    }
	
	/* Sticky Mobile Footer Styling */
	#sticky-footer-cta {
		display: block !important;
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		background: rgba(255, 255, 255, 0.9); /* Slight transparency for a modern look */
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		padding: 15px 20px 25px 20px; /* Extra bottom padding for "Home Bar" on modern iPhones */
		box-shadow: 0 -5px 20px rgba(0,0,0,0.08);
		z-index: 5000; /* Stays below the Contact Panel but above the page */
		box-sizing: border-box !important;
	}

	#get-started-btn-mobile-footer {
		display: block !important;
		width: 100% !important;
		background-color: #3b82f6 !important; /* AI Forge Blue */
		color: #ffffff !important;
		text-align: center !important;
		text-decoration: none !important;
		font-weight: 700 !important;
		font-size: 16px !important;
		padding: 14px 0 !important;
		border-radius: 12px !important;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
	}

	/* Add some padding to the bottom of the body so the button doesn't cover the last bit of text */
	body {
		padding-bottom: 100px !important;
	}
}
/* /* 1. Hide mobile button on desktop */ */
/* .mobile-cta-only { display: none; } */

@media only screen and (max-width:42em) {
    nav {
 
        padding: 0 ;
       
      }
    header.large,  header.small {
       
        height: 3.6em;
        background-color: rgba(255, 255, 255, 1);
      }
 
   
      header.large .logo, header.small .logo {
    
        width: 4em;
        margin: 0;
        padding:0;
        position:fixed;
        z-index:90;
     
      }
    header.large .logo img,  header.small .logo img{
     
     
        width: 100%;
        height:auto;
        margin: 0;
        padding:0;
      }

      header.large #language {
    
        right: 1.2em;
       
        top: 0.6em;
      }
       header.small #language {
    
        right: 1em;
       
        top: 0.6em;
      }

}

