/*╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗*/
/*║ HEADER I                                                                                                                                                                                                                                              ║*/
/*╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝*/
/***-------------------------------------------*** Body ***-------------------------------------------***/
body { padding-top: 140px; }

/***-------------------------------------------*** Header ***-------------------------------------------***/
header { position: fixed; z-index: 1000; top: 0; right: 0; left: 0; height: 140px; background: #FFFFFF; }
header li { list-style: none; }
header a { text-decoration: none; }
header .cms_container_wide { position: relative; height: 140px; padding: 0 30px; }

/***-------------------------------------------*** Hamburger ***-------------------------------------------***/
#nav-icon4 { cursor: pointer; position: relative; display: inline-block; width: 30px; height: 24px; transform: rotate(0deg); transition: .5s ease-in-out; }
#nav-icon4 span { position: absolute; left: 0; display: block; width: 100%; height: 4px; background: #074EA1; opacity: 1; transform: rotate(0deg); transition: .25s ease-in-out; }
#nav-icon4 span:nth-child(1),
#nav-icon4 span:nth-child(2),
#nav-icon4 span:nth-child(3) { transform-origin: left center; }
#nav-icon4 span:nth-child(1) { top: 0px; }
#nav-icon4 span:nth-child(2) { top: 10px; }
#nav-icon4 span:nth-child(3) { top: 20px; }
body.navi #nav-icon4 span:nth-child(1) { top: 0px; left: 4.5px; transform: rotate(45deg); }
body.navi #nav-icon4 span:nth-child(2) { width: 0%; opacity: 0; }
body.navi #nav-icon4 span:nth-child(3) { top: 21px; left: 4.5px; transform: rotate(-45deg); }

/***-------------------------------------------*** Logo ***-------------------------------------------***/
body #logo_container { position: absolute; z-index: 1; top: 17px; left: 30px; width: 158px; height: 104px; overflow: hidden; }
body #logo_container > a { position: absolute; z-index: 2; inset: 0; background: url("/pages/img/logo.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }

/***-------------------------------------------*** Service Navigation ***-------------------------------------------***/
header #hService { display: flex; justify-content: flex-end; padding: 22px 0 0 0; }
header #hService > ul { display: flex; align-items: center; gap: 24px; }
header #hService > ul > li { display: inline-flex; align-items: center; }
header #hService > ul > li > a { display: flex; }
header #hService > ul > li > a > span { display: none; }
header #hService > ul > li > a > i { font-size: 18px; line-height: 18px; color: #074EA1; transition: all .3s ease-in-out; }
header #hService > ul > li.current > a > i { color: #E8308A; }
header #hService > ul > li > a:hover > i { color: #E8308A; }
header #hService > ul > li:first-of-type > a {
    align-items: center;
	font-family: "Source Sans 3", sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 18px;
	color: #074EA1;
	text-align: left;
	padding: 3px 8px;
	margin: 0 13px 0 0;
	border: 1px solid #074EA1;
	border-radius: 3px;
	transition: all .3s ease-in-out;
}
header #hService > ul > li:first-of-type.current > a { color: #FFFFFF; background: #074EA1; }
header #hService > ul > li:first-of-type > a:hover { color: #FFFFFF; background: #074EA1; }
header #hService > ul > li:first-of-type > a > span { display: inline-flex; }
header #hService > ul > li:first-of-type > a > i { margin: 0 15px 0 0; }
header #hService > ul > li:first-of-type.current > a > i { color: #FFFFFF; }
header #hService > ul > li:first-of-type > a:hover > i { color: #FFFFFF; }
header ul#hServiceMobile { display: none !important; }

/***-------------------------------------------*** Desktop ***-------------------------------------------***/
@media screen and (min-width: 1072px) {
	/* Start: Allgemein */
	header #hHamburger { display: none; }
	/* End: Allgemein */

	/* Start: First-Level */
	header #hNavigation > ul { display: flex; justify-content: flex-end; align-items: center; gap: 15px 53px; width: 100%; padding: 40px 0 0 188px; }
	header #hNavigation > ul > li { position: relative; display: inline-flex; }
	header #hNavigation > ul > li > a {
		display: flex;
        width: 100%;
		font-family: "Source Sans 3", sans-serif;
		font-weight: 400;
		font-size: 24px;
		line-height: 28px;
		color: #074EA1;
		text-align: left;
		text-transform: uppercase;
		white-space: nowrap;
		transition: all .3s ease-in-out;
	}
	header #hNavigation > ul > li.current > a { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a { color: #00A0E2; }
	header #hNavigation > ul > li > a > .fa { font-size: 28px; line-height: 28px; color: #074EA1; }
	header #hNavigation > ul > li.current > a > .fa { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a > .fa { color: #00A0E2; }
	/* End: First-Level */

	/* Start: Scrolled */
	body,
	header,
	header .cms_container_wide,
	body #logo_container,
	header #hService,
	header #hNavigation > ul { transition: all .3s ease-in-out; }
	body.scrolled { padding-top: 114px; }
	body.scrolled header { height: 114px; }
	body.scrolled header .cms_container_wide { height: 114px; }
	body.scrolled #logo_container { top: 15px; width: 128px; height: 84px; }
	body.scrolled header #hService { padding: 15px 0 0 0; }
	body.scrolled header #hNavigation > ul { padding: 30px 0 0 188px; }
	/* End: Scrolled */
}

/***-------------------------------------------*** Tablet ***-------------------------------------------***/
@media screen and (min-width: 960px) and (max-width: 1071px) {
	/* Start: Allgemein */
	header #hNavigation { position: fixed; z-index: 2; top: 132px; right: -100%; bottom: 0; overflow-y: auto; transition: all 0.3s; }
	body.navi header #hNavigation { right: 30px; }
	header #hHamburger { position: absolute; top: 78px; right: 30px; width: 30px; height: 24px; padding: 0; background: transparent; }
	/* End: Allgemein */

	/* Start: Header */
	body { padding-top: 160px; }
	header { height: 160px; }
	header .cms_container_wide { height: 160px; }
	body #logo_container { top: 28px; }
	/* End: Header */

	/* Start: First-Level */
	header #hNavigation > ul { display: flex; flex-direction: column; align-items: flex-start; gap: 20px 15px; padding: 15px; background: #074EA1; box-shadow: 0px 6px 15px rgba(0,0,0,0.38); }
	header #hNavigation > ul > li > a {
		cursor: pointer;
		position: relative;
		display: block;
		font-family: "Source Sans 3", sans-serif;
		font-weight: 700;
		font-size: 30px;
		line-height: 38px;
		color: #FFFFFF;
		text-align: left;
		transition: all .3s ease-in-out;
	}
	header #hNavigation > ul > li.current > a { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a { color: #00A0E2; }
	header #hNavigation > ul > li > a > .fa { font-size: 28px; line-height: 28px; color: #FFFFFF; transition: all .3s ease-in-out; }
	header #hNavigation > ul > li.current > a > .fa { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a > .fa { color: #00A0E2; }
	/* End: First-Level */

	/* Start: Scrolled */
	body,
	header,
	header .cms_container_wide,
	body #logo_container,
	header #hService,
	header #hNavigation,
	header #hHamburger { transition: all .3s ease-in-out; }

	body.scrolled { padding-top: 90px; }
	body.scrolled header { height: 90px; }
	body.scrolled header .cms_container_wide { height: 90px; }
	body.scrolled #logo_container { top: 15px; width: 91px; height: 60px; }
	body.scrolled header #hHamburger { top: 33px; }
	body.scrolled header #hService { transform: translateY(-48px); }
	body.scrolled header #hNavigation { top: 90px; }
	/* End: Scrolled */
}

/***-------------------------------------------*** Smartphone ***-------------------------------------------***/
@media screen and (max-width: 959px) {
	/* Start: Allgemein */
	header #hNavigation { position: fixed; top: 160px; right: -100vW; bottom: 0; width: 100vW; overflow-y: auto; transition: all 0.3s; background: #074EA1; }
	body.navi header #hNavigation { right: 0; }
	header #hHamburger { position: absolute; top: 78px; right: 30px; width: 30px; height: 24px; padding: 0; background: transparent; }
	/* End: Allgemein */

	/* Start: Header */
	body { padding-top: 160px; }
	header { height: 160px; }
	header .cms_container_wide { height: 160px; }
	body #logo_container { top: 28px; }
	/* End: Header */

	/* Start: First-Level */
	header #hNavigation > ul { display: flex; flex-direction: column; align-items: flex-start; gap: 20px 15px; padding: 100px 30px 30px 30px; }
	header #hNavigation > ul > li > a {
		cursor: pointer;
		position: relative;
		display: block;
		font-family: "Source Sans 3", sans-serif;
		font-weight: 700;
		font-size: 30px;
		line-height: 38px;
		color: #FFFFFF;
		text-align: left;
		transition: all .3s ease-in-out;
	}
	header #hNavigation > ul > li.current > a { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a { color: #00A0E2; }
	header #hNavigation > ul > li > a > .fa { font-size: 28px; line-height: 28px; color: #FFFFFF; transition: all .3s ease-in-out; }
	header #hNavigation > ul > li.current > a > .fa { color: #00A0E2; }
	header #hNavigation > ul > li:hover > a > .fa { color: #00A0E2; }
	/* End: First-Level */

	/* Start: Scrolled */
	body,
	header,
	header .cms_container_wide,
	body #logo_container,
	header #hService,
	header #hNavigation,
	header #hHamburger { transition: all .3s ease-in-out; }

	body.scrolled { padding-top: 90px; }
	body.scrolled header { height: 90px; }
	body.scrolled header .cms_container_wide { height: 90px; }
	body.scrolled #logo_container { top: 15px; width: 91px; height: 60px; }
	body.scrolled header #hHamburger { top: 33px; }
	body.scrolled header #hService { transform: translateY(-48px); }
	body.scrolled header #hNavigation { top: 90px; }
	/* End: Scrolled */
}

@media screen and (max-width: 550px) {
	body { padding-top: 116px; }
	header { height: 116px; }
	header .cms_container_wide { height: 116px; }
	body #logo_container { top: 25px; width: 101px; height: 66px; }
	header #hService { display: none; }
	header #hNavigation { display: flex; flex-direction: column; top: 116px; }
	header #hHamburger { top: 46px; }

	body.scrolled { padding-top: 116px; }
	body.scrolled header { height: 116px; }
	body.scrolled header .cms_container_wide { height: 116px; }
	body.scrolled #logo_container { top: 25px; width: 101px; height: 66px; }
	body.scrolled header #hNavigation { top: 116px; }
	body.scrolled header #hHamburger { top: 46px; }

	/* Start: Service Navigation Mobile */
	header ul#hServiceMobile { display: flex !important; flex-direction: row; gap: 35px; padding: 30px 30px 60px 30px; margin: auto 0 0 0; }
	header ul#hServiceMobile > li { display: inline-flex; }
	header ul#hServiceMobile > li > a { display: flex; }
	header ul#hServiceMobile > li > a > span { display: none; }
	header ul#hServiceMobile > li > a > i.fa { font-size: 20px; line-height: 20px; color: #FFFFFF; transition: all .3s ease-in-out; }
	header ul#hServiceMobile > li.current > a > i.fa { color: #E8308A; }
	header ul#hServiceMobile > li:hover > a > i.fa { color: #E8308A; }
	header ul#hServiceMobile > li:first-of-type > a {
		align-items: center;
		font-family: "Source Sans 3", sans-serif;
		font-weight: 400;
		font-size: 14px;
		line-height: 20px;
		color: #FFFFFF;
		text-align: left;
		text-transform: none;
		padding: 2px 13px 2px 8px;
		border: 1px solid #FFFFFF;
		border-radius: 3px;
		transition: all .3s ease-in-out;
	}
	header ul#hServiceMobile > li:first-of-type.current > a { color: #E8308A; border: 1px solid #E8308A; }
	header ul#hServiceMobile > li:first-of-type:hover > a { color: #E8308A; border: 1px solid #E8308A; }
	header ul#hServiceMobile > li:first-of-type > a > span { display: inline-flex; }
	header ul#hServiceMobile > li:first-of-type > a > i.fa { margin: 0 15px 0 0; }
	header ul#hServiceMobile > li:first-of-type.current > a > i.fa { color: #E8308A; }
	header ul#hServiceMobile > li:first-of-type:hover > a > i.fa { color: #E8308A; }
	/* End: Service Navigation Mobile */
}