.header_container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000; /* Ensure it's above other content */
}


.headerpart {
	position:fixed;
	z-index:99;
    display: flex; /* Use flexbox for layout */
    align-items: center; /* Align items vertically in the center */
    justify-content: space-between; /* Space out children elements */
    width: 100%;
    margin: 0 auto; /* Center the headerpart within its container */
    padding-left: 20px; /* Add padding for spacing */
	padding-right: 20px; /* Add padding for spacing */
    box-sizing: border-box; /* Include padding in width calculation */
}

#logo {
    flex: 0 0 auto; /* Allow logo to take only its content size */
}

#topnav {
    flex: 1; /* Allow nav to take available space */
    text-align: center; /* Center align text in the nav */
}

.topnav {
    display: flex; /* Use flexbox for horizontal layout */
    justify-content: center; /* Center items in the nav */
    list-style: none; /* Remove default list styles */
    padding: 0; /* Remove default padding */
    margin: 0; /* Remove default margin */
}

.topnav li {
    margin: 0 15px; /* Add margin between nav items */
}

@media (max-width: 768px) {
    .headerpart {
        flex-direction: column; /* Stack items vertically on small screens */
        align-items: flex-start; /* Left align items */
    }

    #topnav {
        text-align: left; /* Align text to the left on smaller screens */
    }
}


.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    top: 0;
    left: 0;
    overflow-x: hidden;
    transition: width 0.3s ease-in-out;
    padding-top: 50px;
    background-color: #2b3137;
    box-shadow: 2px 0 10px rgba(0,0,0,0.3);
}

.sidenav a {
    padding: 12px 8px 12px 20px;
    text-decoration: none;
    font-size: 100%;
    color: #b0b0b0;
    display: block;
    transition: all 0.2s ease;
    margin-left: 0;
    border-left: 3px solid transparent;
}

.sidenav a:hover, .offcanvas a:focus{
    color: #ffffff;
    background-color: rgba(255, 140, 0, 0.1);
    border-left: 3px solid darkorange;
    padding-left: 24px;
}

.sidenav a.currentpage {
    color: darkorange;
    background-color: rgba(255, 140, 0, 0.1);
    border-left: 3px solid darkorange;
    font-weight: 600;
}
#mobileHeaderpart {
    width: 100%;
    background-color: #2b3137;
    top: 0;
    position: fixed;
    left: 0;
    line-height: 1.4;
    z-index: 1000; /* Ensure it's above other content */
}

#mobileHeaderpart span {
    font-size: 30px;
    cursor: pointer;
    display: inline-block;
    padding: 12px;
    transition: transform 0.2s ease;
}

#mobileHeaderpart span:hover {
    transform: scale(1.1);
}

#mobileHeaderpart span:active {
    transform: scale(0.95);
}

#mobileHeaderpart img {
    padding-left: 20px;
}

#mobileHeaderpart:after {
    height: .125rem;
    background: linear-gradient(90deg,#f7f406 24%,darkorange 60%); 
    content: "";
    display: block;
}

#mobileLogo{
    position: absolute;
    top: 5px;
    left: 40%;
}
#mobileLogo img {
    max-width: 40%;
    padding-left: 0;
}
#mobileHeaderpart {display: none;}

#topnav{
	width:100%;
	overflow:visible;
	text-align:center;
	height: 60px;
}
#topnav ul{
	list-style:none
}
#topnav a{
	padding:0 .55em;
	box-sizing:border-box;
}
#topnav a:visited{
	color:white;
	font-weight:700
}
#topnav li:hover>a{
	color:#fff;
	font-weight:700;
	border-bottom: 4px solid darkorange;
	transform: translateY(-2px);
	transition: all 0.2s ease;
}
#topnav li>ul>li:hover>a {
	box-shadow: none;
	border-bottom: 4px solid transparent;
	color:darkorange;
}
#topnav>ul>li{
	display:block;
	float:left;
	font-size:14px;
	position:relative
}
#topnav>ul{
	margin:auto;
	padding-top: 10px;
	display:inline-block
}

#topnav>ul li:hover>ul{
	display:block;
	margin-left: 0;
}
#topnav>ul>li>ul{
	position:absolute;
	top:100%;
	left:0;
	background:#3d4b4f;
	padding:0;
	width:100%;
	min-width:250px;
	display:none;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	border-radius: 0 0 4px 4px;
}
#topnav>ul>li>ul>li, #topnav>ul>li>ul>li>ul>li{
	display:block;
	float:none;
	clear:left;
	width:100%;
	position:relative
}
#topnav>ul>li>ul>li a{
	padding:0 10px;
	width:100%;
	font-size:80%;
	text-align:left;
	line-height:3em
}
#topnav>ul>li>ul>li>ul, #topnav>ul>li>ul>li>ul>li>ul{
	position:absolute;
	top:0;
	left:100%;
	background:#3d4b4f;;
	padding:0;
	width:100%;
	min-width:250px;
	display:none
}
#topnav li a{
	float:left;
	display:block;
	color:white;
	text-decoration:none;
	text-align:center;
	line-height:50px;
	font-size:100%;
	font-weight:700;
	border-bottom: 4px solid transparent;
	max-height: 50px;
}
#topnav li a img{
	position:absolute;
	top:8px;
	left:0;
	float:left
}
#topnav li.currentpage > a{
	color:darkorange
}
#logo{
	top:5px;
	left:20px;
	width:118px;
	height:40px
}
#logo img {
    max-width: 100%;
}

.headerpart {
    background: #2b3137;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

#topnav li>ul>li:hover>a {
	box-shadow: none;
	border-bottom: 4px solid transparent;
}

#topnav li#home-icon a {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	width: 40px;
	height: 50px;
	min-height: 50px;
	background: url("https://www.vogella.com/img/common/home_white.png") no-repeat center center;
	background-size: 24px 24px;
}

#topnav li#home-icon.currentpage a {
	background: url("https://www.vogella.com/img/common/home_darkorange.png") no-repeat center center;
	background-size: 24px 24px;
}

/*styling for desktops*/
@media only screen and (max-width: 1024px){
    #topnav li a{line-height:29px}
    #logo{display:none}
    #searchfixed{display:none;}
    #container,#trainingcontainer{margin:90px auto 0!important}
    #topnav>ul>li>ul>li a{display: none;}
    #topnav li#home-icon {display: block;margin-top:10px;}
    #banner-text {top: 95px;}
    #banner, #banner-triangle-up, #banner-triangle-down {top: 60px;}
}

/*styling for mobiles*/
@media only screen and (max-device-width: 1400px){
    #header>h1:first-child {margin-top: 50px}
    .headerpart{display: none}
    #mobileHeaderpart{display: block;}
    #container,#trainingcontainer{margin:60px auto 0!important}
    .content-wrapper {margin-top: 40px;}
    #banner {top: 40px;}
    #banner-text{padding-top: 1px;}
}
