:root {
	--main_content_width: 1200px;
	--navbar_height: 64px;
	--about_more_button_width: 120px;
	--min_padding_side: 16px;
	--breakpoint_desktop: 1025px;
	--breakpoint_tablet: 769px;
	--breakpoint_mobile: 480px;
	--breakpoint_navbar: 648px;
	--breakpoint_subnav: 918px;
	--breakpoint_dual_heading: 721px;
	--breakpoint_dual_containers: 800px;
	--img_offset_start: -250px;
	--img_offset_aboutme: -100px;

	--main_white: #ffffff;
	--main_black: #000000;
	--main_light_gray: #e3e3e3;
	--main_gray: #787878;
	--main_dark_gray: #565656;
	--main_dark_green: #0F5A6B;

	--partner_img_margin_top: 36px; /* 42px */
}

@font-face {font-family: InterBlack; src: url(../fonts/Inter-Black.ttf) format("truetype");}
@font-face {font-family: InterExtraBold; src: url(../fonts/Inter-ExtraBold.ttf) format("truetype");}
@font-face {font-family: InterBold; src: url(../fonts/Inter-Bold.ttf) format("truetype");}
@font-face {font-family: InterSemiBold; src: url(../fonts/Inter-SemiBold.ttf) format("truetype");}
@font-face {font-family: InterMedium; src: url(../fonts/Inter-Medium.ttf) format("truetype");}
@font-face {font-family: InterRegular; src: url(../fonts/Inter-Regular.ttf) format("truetype");}
@font-face {font-family: InterLight; src: url(../fonts/Inter-Light.ttf) format("truetype");}
@font-face {font-family: InterExtraLight; src: url(../fonts/Inter-ExtraLight.ttf) format("truetype");}
@font-face {font-family: InterThin; src: url(../fonts/Inter-Thin.ttf) format("truetype");}


html, body {
	margin: 0;
	padding: 0;
	/* background-color: magenta; */
	scroll-behavior: smooth;
}

a {
	text-decoration: none;
}

a.black {
	color: var(--main_black);
	text-decoration: underline !important;
}

h1 {
	font-family: InterBold;
	font-size: 36px;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h2 {
	font-family: InterBold;
	font-size: 36px;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h2.seperator {
	font-family: InterThin;
	font-weight: normal;
}

h2.inactive {
	color: #BDBDBD !important;
}

h2.prevent_line_break {
	display: inline;
	color: var(--main_black);
}

h2.white {
	color: white;
}

h3 {
	font-family: InterBold;
	font-size: 33px;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h4 {
	font-family: InterMedium;
	font-size: 18px;
	font-weight: bold;
	margin: 0;
	margin-top: 6px;
	margin-bottom: 14px;
	padding: 0;
}

h5 {
	font-family: InterMedium;
	font-size: 20px;
	font-weight: bold;
	margin: 0;
	margin-top: 20px;
	margin-bottom: 10px;
	padding: 0;
}

p {
	font-family: InterRegular;
	font-size: 14px;
	font-weight: normal;
	margin: 0;
	padding: 0;
	line-height: 180%;
}

p.normal {
	font-weight: normal;
}

p.same_line {
	margin-top: 4px;
}

strong {
	font-family: InterMedium;
	font-weight: normal;
}

.strong_xtra {
	font-size: 15px;
	font-family: InterSemiBold;
	font-weight: normal;
}

ul {
	font-family: InterRegular;
	font-size: 14px;
	font-weight: normal;
	line-height: 180%;
	/* list-style: none; */
}

ul.dashed {
	list-style-type: none;
	padding-left: 17px;
}

ul.dashed li:before {
	content: '\2013';
	position: absolute;
	margin-left: -16px;
}

/* =========================================================================================== */

.navbar_master {
	position: fixed;
	width: 100%;
	background-color: var(--main_white); /* var(--main_light_gray);*/
	height: var(--navbar_height);
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid;
	border-color: #e8e8e8;
	z-index: 2;
	transition: height 0.5s ease; 
}

.navbar_content_container {
	width: var(--main_content_width);
	display: flex;
	flex-direction: column;
}

.navbar_content_upper_container {
	width: 100%;
	height: var(--navbar_height);
	display: flex;
	justify-content: space-between;
	align-items: center;
}


.navbar_logo_container {
	height: 100%;
}

.navbar_logo_container img {
	margin-top: 3px;
	height: 56px;
}

.navbar_right_container {
	display: flex;
	align-items: center;
}

.navbar_navitems_container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
}

.navbar_navitem {
	font-family: InterRegular;
	color: var(--main_black);
	height: 100%;
	display: flex;
}

.menu_button_container {
	width: 0px;
	height: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
	visibility: hidden;
}

.menu_button_bars_container {
	width: 28px;
	height: 28px;
}

.menu_button_upr_bars_flex_container {
	display: flex;
	justify-content: center;
}

.menu_button_bar1 {
	height: 2px;
	width: 50%;
	display: block;
	position: relative;
	background-color: black;
	border-radius: 10px 0px 0px 10px;
	transition: 0.4s;
	margin-top: 8px;
    transform: rotate(0deg);
    transform-origin: right center;
}

.menu_button_bar2 {
	height: 2px;
	width: 50%;
	display: block;
	position: relative;
	background-color: black;
	border-radius: 0px 10px 10px 0px;
	transition: 0.4s;
	margin-top: 8px;
    transform: rotate(0deg);
    transform-origin: right center;
}

.menu_button_bar3 {
	height: 2px;
	width: 100%;
	display: block;
	position: relative;
	background-color: black;
	border-radius: 10px;
	transition: 0.4s;
	margin-top: 8px;
}

.menu_button_bar1_anim {
	animation: rotbar1_1 0.7s forwards;
}

.menu_button_bar1_anim_rev {
	animation: rotbar1_2 0.7s forwards;
}

@keyframes rotbar1_1 {
	0% {
		margin-top: 8px;
		transform: rotate(0deg);
		transform-origin: right center;
	}
    50% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(0deg);
		transform-origin: right center;
    }
    100% {
		margin-top: calc(28px/2 - 2px/2);
        transform: rotate(-45deg);
        transform-origin: right center;
    }
}

@keyframes rotbar1_2 {
    0% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(-45deg);
		transform-origin: right center;
	}
    50% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(0deg);
		transform-origin: right center;
    }
    100% {
		margin-top: 8px;
        transform: rotate(0deg);
        transform-origin: right center;
    }
}

.menu_button_bar2_anim {
	animation: rotbar2_1 0.7s forwards;
}

.menu_button_bar2_anim_rev {
	animation: rotbar2_2 0.7s forwards;
}

@keyframes rotbar2_1 {
	0% {
		margin-top: 8px;
		transform: rotate(0deg);
		transform-origin: left center;
	}
    50% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(0deg);
		transform-origin: left center;
    }
    100% {
		margin-top: calc(28px/2 - 2px/2);
        transform: rotate(45deg);
        transform-origin: left center;
    }
}

@keyframes rotbar2_2 {
    0% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(45deg);
		transform-origin: left center;
	}
    50% {
		margin-top: calc(28px/2 - 2px/2);
		transform: rotate(0deg);
		transform-origin: left center;
    }
    100% {
		margin-top: 8px;
        transform: rotate(0deg);
        transform-origin: left center;
    }
}

.menu_button_bar3_anim {
	animation: rotbar3_1 0.7s forwards;
}

.menu_button_bar3_anim_rev {
	animation: rotbar3_2 0.7s forwards;
}

@keyframes rotbar3_1 {
	0% {
		margin-top: 8px;
	}
    50% {
		margin-top: -2px;
    }
    100% {
		margin-top: -2px;
    }
}

@keyframes rotbar3_2 {
    0% {
		margin-top: -2px;
	}
    50% {
		margin-top: -2px;
    }
    100% {
		margin-top: 8px;
    }
}

.navbar_content_menu_container {
	width: 100%;
	height: 0%;
	transition: height 0.5s ease;
	overflow: hidden;
}

.navbar_menu_text_container {
	width: calc(100vw - (var(--min_padding_side) * 2));
	/* margin-top: 18px; */
}

.navbar_menu_text_heading {
	font-family: InterBold;
	font-size: 21px;
	font-weight: normal;
	line-height: 2;
	color: black;
}

.navbar_menu_text_entry {
	font-family: InterMedium;
	font-size: 16px;
	font-weight: normal;
	line-height: 2;
	color: var(--main_dark_gray);
}

.container_first {
	padding-top: var(--navbar_height);
}

.start_container {
	width: 100%;
	height: 65vh;
}

.start_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.start_container_text_container {
	background-color: red;
	bottom: 20px;
  	right: 20px;
}

.aboutme_img_container {
	width: 100%;
	height: 65vh;
	text-align: center;
}

.aboutme_img_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.placeholder_start_text {
	position: absolute;
	font-family: InterRegular;
	top: 45%;
	position: relative;
	color: var(--main_light_gray);
	font-size: 64pt;
}

.section_container_side {
	min-width: var(--min_padding_side);
}

.section_container_master {
	width: 100%;
	display: flex;
	justify-content: space-between;
	background-color: white;
}

.section_container_master_gray {
	background-color: var(--main_light_gray);/* #E4E4E4; */
}

.section_container_master_gradient_services {
	background: linear-gradient(92deg, #B47F6D 16.67%, #C4D6DF 82.29%);
}

.section_container_master_gradient_partners {
	background: linear-gradient(92deg, #617E99 16.67%, #b0cad7 82.29%); /* ORI: linear-gradient(92deg, #617E99 16.67%, #BED6E2 82.29%)*/
}

.section_container_main {
	position: relative;
	width: var(--main_content_width);
	margin-top: 32px;
	/* background-color: beige; */
}

.section_container_content_box {
	margin-top: 28px;
	width: 100%;
	/*  background-color: bisque; */
	display: flex;
	flex-wrap: wrap;
}

.section_container_content_box_services {
	justify-content: center; /*space-between;*/
	gap: 32px;
}

.section_container_content_box_partner {
	gap: 20px;
	justify-content: space-evenly; /* TODO!: SHOULD BE: space-between IF ALL 4, ELSE, space-evenly */
}

.section_container_content_box_subnav {
	margin-top: 18px;
}

.section_bottom_space {
	height: 64px;
	/* background-color: orange; */
}

.section_bottom_space_small {
	height: 32px;
}

.section_bottom_space_small_first {
	height: 32px;
}

.section_bottom_space_small_first_sticky {
	padding-top: 103px;
}


	.services_box {
		flex-grow: 1;
		flex-basis: 400px;
		height: 440px;
		/*max-width: 80%;*/
		border-radius: 16px;
		background: rgba(255, 255, 255, 0.20);
		box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.05);
		transition: transform .2s ease;
	}

	.services_box:hover {
		transform: scale(1.05);
	}

	.services_box_number {
		font-family: InterBold;
    	font-size: 500px;
		font-weight: normal;
		line-height: 0.75;
		margin-left: 16px;
		margin-top: 32px;
		color: rgba(255, 255, 255, 0.2);
	}

	.services_box_text_container {
		margin-left: 100px;
		margin-top: -255px;
		margin-right: 32px;
		font-weight: normal;
		color: white;
	}

	.servies_2_text_pos_mod {
		margin-left: 132px;
	}

	.services_box_heading {
		font-family: InterBold;
		font-size: 26px;
		margin-bottom: 16px;
	}

	.services_box_text {
		font-family: InterMedium;
		font-size: 22px;
		line-height: 1.5;
	}

	.services_box_text_grp {
		/* line-height: 1.0 !important; */
	}


.section_image_full_responsive {
	width: 100%;
  	height: auto;
}


.about_collapsible_button {
	margin-left: calc(50% - (var(--about_more_button_width)/2));
	width: var(--about_more_button_width) !important;
  	cursor: pointer;
  	border: none;
}
  
.collapsible_content {
	display: none;
	overflow: hidden;
}

/*
.partner_content_box {
	justify-content: space-between;
} */

.partner_container {
	width: 283px;
	height: auto;
	min-width: 200px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 16px;
}

.partner_image_portrait {
	display: block;
    margin-left: auto;
    margin-right: auto;
	position: relative;
	width: 140px;
	height: 140px;
	overflow: hidden;
	border-radius: 50%;
	margin-top: var(--partner_img_margin_top);
}

.partner_image_portrait img {
	width: 100%;
	height: auto;
}

.partner_textbox {
	padding-left: 18px;
	padding-right: 22px;
	margin-top: 14px;
	margin-bottom: 20px;
}

.partner_text_name {
	font-family: InterMedium;
	font-size: 22px;
	margin-bottom: 2px;
}

.partner_text_weblink {
	font-family: InterMedium;
	font-size: 16px;
	color: var(--main_white); /*var(--main_gray);*/
	text-decoration: underline;
}

.partner_text_list {
	text-align: left;
}



/* === UNTERNEHMENSENTWICKLUNG ======================================================= */
.section_container_master_subnavbar {
	width: 100%;
	display: flex;
	justify-content: space-between;
	background-color: white;
	margin-top: 50px;
	z-index: 1;
}

.subnav_sticky {
	position: fixed;
	top: 0;
	margin-top: 0px !important;
}

.section_container_main_subnavbar {
	position: relative;
	width: var(--main_content_width);
	margin-top: 0;
}

.subnavbar_master {
	width: auto;
	background-color: var(--main_white);
	padding: 6px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 6px;
}

.subnav_item_container {
	flex-grow: 1;
	width: auto;
	height: 42px;
	border-radius: 55px;
	padding-left: 22px;
	padding-right: 22px;
	background-color: var(--main_light_gray);
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: InterMedium;
	font-size: 14px;
	color: black;
	text-align: center;
	overflow: hidden;
}

.subnav_item_container:hover {
	background-color: #d5d5d5;
}

.section_content_containerOLD {
	margin-top: 28px;
	width: 100%;
	/*  background-color: bisque; */
	display: flex;
}

.section_dual_content_container {
	margin-top: 28px;
	width: 100%;
	display: flex;
    flex-wrap: wrap-reverse;
    gap: 26px;
	/* background-color: red; */
}

.section_dual_content_container_reversed {
	/* background-color: blue; */
	flex-direction: row-reverse;
}

.wrap_norm {
	flex-wrap: wrap !important;
}

.dual_content_container {
	width: calc(50% - 13px); /* 50% width minus half of the gap */
    min-width: 200px; /* Minimum width for the containers */
    height: auto;
}

@media (max-width: 800px) {
	.dual_content_container {
		width: 100%; /* Full width when the screen is small */
		min-width: auto; /* Remove minimum width */
	}
}

.dual_content_container_text {
	/* background-color: greenyellow; */
}

.dual_content_container_image {
	/* background-color: aqua; */
}

@media (max-width: 800px) {
	.dual_content_container_image {
		/* background-color: aqua; */
		display: flex;
        justify-content: center;
        align-items: center;
	}
}

.dual_content_container_image img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 14px;
	width: 100%;
	height: 500px;
	object-fit: cover;
}

.dual_content_container_image_reversed {
	/* background-color: pink; */
}

.dual_content_container_image_reversed img {
	float: right;
}

.section_contact_container {
	width: 100%;
	/* background-color: lightcoral;*/
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.section_contact_item {
	/* background-color: lightseagreen; */
	flex-grow: 1;
	color: var(--main_black);
}

.section_contact_item a {
	color: var(--main_black);
}

.accordion {
	cursor: pointer;
}

.accordion-heading {
	/* TODO: CHANGE FONT STYLE */
}

.accordion.active i {
	transform: rotate(90deg);
}

.accordion.active .accordion-content {
	display: block;
}

.accordion-content {
	display: none;
}

.subpage_heading_mobile { /* HIDE TABLET/MOBILE HEADING */
	visibility: hidden;
	margin-top: -44px;
}

/* BREAPOINT: DUAL CONTAINER */
@media screen and (max-width: 800px) {

	.start_container img {
        width: calc(100% - var(--img_offset_start));
        margin-left: var(--img_offset_start);
	}

	.section_container_main_first {
		margin-top: 0px;
	}
	
	.aboutme_img_container img {
		width: calc(100% - var(--img_offset_aboutme));
        margin-left: var(--img_offset_aboutme);
	}

	.dual_content_container {
		word-break: break-word;
	}
}

/* BREAKPOINT SERVICES 1 */
@media screen and (max-width: 1014px) and (min-width: 632px) {
	
	.services_box {
		max-width: 600px;
	}

	.services_box_number {
		margin-left: 270px;
	}

	.services_box_text_container {
		margin-left: 60px;
		margin-top: -255px;
		margin-right: 32px;
	}

	.servies_2_text_pos_mod {
		margin-left: none;
	}
}

/* BREAKPOINT SERVICES 2 */
@media screen and (max-width: 632px) {
	
	.services_box {
		height: 275px;
		width: calc(100vw - (var(--min_padding_side) * 3)); /* SHOULD BE 2 BUT WORKS... */
	}

	.services_box:hover {
		transform: scale(1.03);
	}

	.services_box_number {
		font-size: 300px;
		margin-top: 24px;
		margin-left: calc(100vw - 130px - 46px - 8px); /* 200px */
	}

	.number_2_mod {
		margin-left: calc(100vw - 190px - 46px - 8px); /* 140px */
	}

	.services_box_text_container {
		margin-left: 22px;
		margin-top: -216px;
		margin-right: 22px;
	}

	.services_box_heading {
		font-size: 22px;
		margin-bottom: 16px;
	}

	.services_box_text {
		font-size: 18px;
	}
}

/* BREAKPOINT: SUBNAV BAR - NAVBAR HAMBURGER ACTIVE, SUBNAV BAR + DUAL HEADING HIDDEN */
@media screen and (max-width: 918px) {

	.navbar_navitems_container {
		width: 0px;
		visibility: hidden;
	}

	.section_container_master_subnavbar {
		margin-top: -54px;
		margin-bottom: 0px;
		visibility: hidden;
		overflow: hidden;
	}

	.section_bottom_space_small_first {
		height: 0px;
	}

	.section_container_main_reduce_margin_mobile {
		margin-top: 6px;
	}

	.menu_button_container {
		width: 48px;
		height: 48px;
		visibility: visible;
		cursor: pointer;
	}

	.incr_for_mobile {
		padding-top: 14px;
	}

	.decr_for_mobile {
		height: calc(32px - 14px);
	}
}

/* BREAKPOINT: DUAL HEADING -> REDUCE TO SINGLE HEADING*/
@media screen and (max-width: 721px) {

	.subpage_heading_container_master {
		padding-bottom: 20px;
		background: linear-gradient(92deg, #B47F6D 16.67%, #C4D6DF 82.29%);
	}
	
	.subpage_heading_desktop {
		width: 0%;
		background-color: pink;
		visibility: hidden;
		white-space: nowrap;
		overflow: hidden;
	}
	.subpage_heading_desktop h2 {
		font-size: 0px;
	}

	.subpage_heading_mobile {
		width: 100%;
		visibility: visible;
		word-break: break-word;
		margin-top: -30px;
	}
}


/* REDUCE DUAL CONTAINER IMAGE HEIGHT IF VERTICAL + LARGE */
@media screen and (max-width: 500px) {
	.dual_content_container_image img {
		height: calc(100vw - (var(--min_padding_side) * 2));
	}
}



#navbar {}

#breatungen_von_unternehmen {}

#leistungen {}

#ueber_mich {}

#partner {}

#kontakt {}

#organisationsentwicklung {}

#grossgruppenmoderation {}