@import "source_sans_pro.css";

body {
    margin: 0px;
    border: 0px;
    padding: 0px;
    /*    scroll-snap-type: y mandatory; */ /* scroll-snap nach main {...} verschoben @ 2023-02-10*/
    font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
    font-size: large;
}

/* 
   --- header ---
*/
header {
    position: fixed;
    top: 0px;
    margin: 0px;
    border: 0px;
    background-color: white;
    z-index: 100;
    box-shadow: 0px 0px 38px 3px #bbbbbb; 
}

#logo_header {
    padding: 10px 1% 0;
    display: grid;
    grid:
	"empty_header header_logo" auto
	/ 5fr 1fr;
}

empty_header {
    background-color: transparent;
}

header_logo img {
    width: 95%;
    min-width: 138px;
    max-width: 188px;
    justify-self: end;
    height: auto;
}
/*
  --- navigation ---
*/
nav {
    margin: 0px;
    border: 0px;
    padding: .2rem 1% .2rem;
    align-items: flex-start;
    font-family: inherit;
    font-style: normal;
    font-size: smaller;
}

nav ul {
    list-style-type: none;
}

nav li { 
    padding: 0 3px 0;
}

nav .menuburger {
    margin: 0px;
    border: 0px;
    padding: 0px;
    text-align: left;
    background-color: white;
}

.menuburger li {
    padding: 0 3px 0;
    text-align: left;
}

/*
.menuburger li:hover {
    background-color: darkblue;
}
*/

#top_menu {
    padding: 0 3px 0;
    text-align: left;
}

#top_menu ul {
    padding: 0 5px 0;
    text-align: left;
}

#top_menu li {
    padding: 3px;
/*    padding: 1px;*/
    text-align: left;
}

nav .sub_menu {
    padding: inherit;
    visibility: hidden;
    height: 0;
    padding: 3px;
}

nav .wide_menu {
    display: none;
}

nav li:hover .sub_menu,
nav li:focus .sub_menu,
nav li:focus-within .sub_menu,
nav li:active .sub_menu {
    visibility: visible;
    height: auto;
    margin: 0 -3px 0;
    padding: 3px;
    background-color: white;
}

/* stand 2022-07-08 ... funkt's noch nicht */
/* das ist es (noch?) nicht ...
nav .sub_menu li:hover ,
nav .sub_menu li:focus ,
nav .sub_menu li:focus-within,
nav .sub_menu li:active {
    visibility: visible;
    height: auto;
    margin: 0 -3px 0;
    padding: 3px;
    background-color: white;
}
*/

nav .sub_menu_2 {
    margin: 0 -3px -3px;
    background-color: white;
}

main {
    scroll-snap-type: y mandatory;
}
/*
  --- contents in main ---
  width < 38rm
*/

article {
    padding-top: 5rem;
    z-index: 20;
    font-family: inherit;
    background-color: transparent;
/*    scroll-margin: 0;*/
    overflow: hidden;
}

.buffer {

    height: 0rem; 
   /* class .buffer bleibt - als dummy ... one never knows ... */
    background: transparent;
}

.section_buffer {

/*    height: 5.5rem; */
    height: 1rem; 
    background: transparent;
}

section {
    background-color: white;
    padding: 0px 3%; /* changed from 1% to 3% 2024-04-24*/
    min-height: 100vh;
    max-height: max-content;
    scroll-snap-align: start;
    scroll-margin: 5rem;
    font-family: inherit;
    font-style: normal;
    font-size: normal;
    line-height: 150%; /* added 2024-04-24*/
}

h1 {
    font-family: inherit;
    font-size: larger;
    font-style: italic;
    font-weight: 600;
    padding: 0.5rem 0rem 0.1rem;
    background-color: white;
    color: black;
}

h2 {
    font-family: inherit;
    font-size: larger;
    font-style: italic;
    font-weight: 600;
    padding: 0.1rem 0rem 0.1rem;
    background-color: white;
    color: black;
}

h3 {
    font-family: inherit;
    font-size: large;
    font-style: italic;
    font-weight: 400;
    padding: 0.1rem 0rem 0.1rem;
    background-color: white;
    color: black;
}

q {
    font-family: inherit;
    font-size: smaller;
/*    font-size: inherit;*/
    font-style: italic;
    line-height: 1.0;
}

.challenges li {
    list-style-type: "\2610  ";
    margin: 0.5rem 0;
}

.personal_experience li {
    list-style-type: "\2611  ";
    margin: 0.5rem 0;
}


.our_experience {
        list-style-type: none;
}

.our_experience li {
    font-weight: 600;
    margin: 0.5rem 0;
}

.our_experience li p {
    font-weight: 400;
    margin: 0rem 0.5rem;
}

.further_experience {
        list-style-type: none;
}

.further_experience li {
    margin: 0.5rem 0;
}

.intro {
    margin: 0 3rem 0;
}

.source {
    text-align: left;
    margin: 0 3.8rem 0;
    font-family: inherit;
    font-size: small;
    font-style: italic;
}

.example h3 {
    margin: 1rem 0 0;
    padding: 0;
}

.example li {
    list-style-type: "\2611  ";
}

.example p {
    margin: 0.5rem 0 0 2rem;
    padding: 0;
}

footer {
    position: fixed;
    bottom: 0;
    padding: 0 1% 0;
    background-color: #0c2561;
    color: white;
/*    box-shadow: -2px -2px 10px 5px #bbbbbb;*/ /* alter schattenwurf */
    box-shadow: 0px 0px 38px 3px #bbbbbb;
    font-size: small;
    font-weight: light;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.team_member { /* in section id="part_4" mit foto und cv ...*/
    /* this class intentionally left blank ... ;-) */
}

.cv_foto {
    display: grid;
    background-color: inherit;
    grid-template-columns: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-auto-columns: minmax(100px, auto);
}

/*
.team_foto {
    background-color: white;
    padding: 1.2rem 0;
    width: 33%;
    max-height: max-content;
}
*/

.cv_foto img {
    max-width: 38%;
/*    padding-top: 2rem;*/
    height: auto;
    align-self: center;
    justify-self: center;
/*   border: thick dotted blue;*/
}

figcaption {
    font-family: inherit;
    font-size: xx-small;
    font-style: italic;
    text-align: center;
}

/*
.curriculum_vitae {
    background-color: inherit;
    padding: 0 2% 0;
    max-height: max-content;
}
*/

p {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
}

/* erst mal noch drin lassen ... reminder */
/*
ul {
    transition: all .5s;
}
*/

/*@media screen and (min-width: 38rem) {*/
@media screen and (min-width: 38rem) {
    nav .menuburger {
	display: none;
	overflow: hidden;
    }

    nav .wide_menu {
	visibility: visible;
	margin: inherit;
	border: inherit;
	padding: inherit;
	display: grid;
	background-color: white;
	grid-template-columns: repeat(6, 1fr);
	grid-column-gap: 5px; /* 5px */
	grid-row-gap: 0px;
	grid-auto-columns: minmax(100px, auto);
	list-style-type: none;
    }

    nav .wide_menu > li {
	padding: 0 3px 0;
	border-right: thin dotted grey;
    }

     nav .wide_menu > li:last-child {
	padding: 0 3px 0;
	border: none;
    }

    nav ul li .wide_menu_sub {
	padding: 3px;
	visibility: hidden;
	height: 0;
    }
/*
    nav .wide_menu li:hover,
    nav .wide_menu li:focus,
    nav .wide_menu li:active {
	color: white;
    }
*/

    /* active muss anders geregelt werden ... */
    nav .wide_menu li:hover .wide_menu_sub,
    nav .wide_menu li:focus .wide_menu_sub,
    nav .wide_menu li:active .wide_menu_sub {
	visibility: visible;
	height: auto;
	margin: 0 -3px 0;
	background-color: white;
    }

    article {
	padding-top: 7rem;
    }

    .section_buffer {
	
	height: 0.5rem;
/*	height: 7.5rem; */
	background: transparent;
    }

    section {
	background-color: white;
	padding: 0px 10%;
	scroll-snap-align: start;
	scroll-margin: 7.5rem;
	font-family: inherit;
	font-style: normal;
	font-size: normal;
    }

    footer {
	position: fixed;
	bottom: 0;
	left: 0%;
	right: 0%;
    }

    .cv_foto {
	display: grid;
	background-color: inherit;
	grid-template-columns: 1fr 3fr;
	grid-column-gap: 0px; /* 5px */
	grid-row-gap: 0px;
	grid-auto-columns: minmax(100px, auto);
    }

    .cv_foto img {
	max-width: 100%;
	/*    padding-top: 2rem;*/
	height: auto;
	align-self: center;
	justify-self: center;
	/*   border: thick dotted blue;*/
    }

} /* @media screen and (min-width: 38rem) */

a {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    transition: all .25s;
    text-decoration: none; /* kein unterstrich bei links ... */
}

a:link,
a:visited {
    color: black;
    
}

a:focus,
a:hover,
a:active {
    color: #383838;
    font-style: italic;
    font-weight: bold;
}

nav a:focus,
nav a:hover,
nav a:active {
    color: white;
    font-style: italic;
    font-weight: bold;
}

.source a:link
.source a:visited {
    background-color: inherit;
    color: #383838;
}

.source a:focus,
.source a:hover,
.source a:active {
    background-color: inherit;
    color: #383838; 
}

/* das ist zwar noch nicht so, wie ich es möchte, aber schon mal auf dem richtigen Weg ... */
nav li:focus,
nav li:focus-within,
nav li:hover,
nav li:active {
    background-color: #0c2561; /* rgb 12 37 97 */
    color: white;
}


summary {
    position: relative;
    font-size: normal; /* in kombination mit details ... font-size: small ... funktioniert es noch nicht wie gewünscht */
/*    padding-right: 2rem; */
    padding: 0.5rem 2rem 0.5rem 0 /*0.3rem*/;
/*    border-bottom: thin dotted grey; */
}

summary:focus,
summary:focus-within,
summary:hover,
summary:active {
    font-style: italic;
    font-weight: bold;
}

summary::-webkit-details-marker,
summary::marker {
    color: transparent;
    font-size: 0rem;
}

details[open] summary {
    font-style: italic;
    padding-bottom: 0rem;
    border: none;
/*    border-bottom: thin dotted grey;*/ /* evtl doch eine linie? */
}

/*
details[open] summary::marker {
    color: darkred;
}
*/

details p {
    font-size: normal;
/*    padding: 0.5rem 2rem 0.5rem 0.3rem; */
    padding: 0 2rem 2rem 2rem;
/*    border-bottom: thin dotted grey;*/
}

/* das mit den listen in details fliegt noch nicht so ... */
details ul {
    list-style: none;
}

details li {
    list-style: none;
    font-size: normal;
/*    border-bottom: thin dotted grey;*/ /* evtl doch eine linie? */
/*    padding: 0 1rem 0;*/
}

/* last child funktioniert nicht ... wie bekomme ich die linie unter dem aufklapp-text weg? */
/*
details p:last-child {
    border-bottom-style: none; 
}

summary p:last-child {
    border-bottom-style: none; 
}
*/

ul.kservices {
    list-style: none;
}

li.kservices {
    list-style: none;
    border-bottom: thin dotted grey;
}

/*ul.kservices_detail {*/
.kservices_detail {
    list-style: check;
}

/*
ul.kservices_detail > li.kservices_detail {
    list-style: check;
}
*/

summary::after {
    content: "+";
/*    content: "\708"; /* das mit dem pfeil nach unten bzw. nach oben funktioniert so nicht ... -> R */
    position: absolute;
    font-size: larger;
    font-weight: bold;
    right: 1rem;
    top: -0.1rem;
/*    top: -0.3rem;*/
    color: #0c2561;
    transition: all 0.5s;
}

details[open] summary::after {
    color: #e09c26;
    transform: rotate(45deg);
}

footer a:link,
footer a:visited {
    color: white;
}

footer p {
    color: white;
    text-align: center;
}

.durchblick { /* höhe muss noch anders werden ... */
    height: 25vh;
    margin: 0;
    border: 0;
    padding: 0 1%;
}

/*
#unsere_motivation { 
    background-image: url(../images/Hintergrund.jpg);
    background-size: 98%;
    background-position: center 6rem;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

#was_wir_anders_machen {
    background-image: url(../images/Spitzer_Bleistift.png);
    background-size: 98%;
    background-position: center 6rem;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

#finanzierung {
    background-image: url(../images/Manhattan-Downtown.png);
    background-size: 98%;
    background-position: center 6rem;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

#interim_management {
    background-image: url(../images/Hintergrund.jpg);
    background-size: 98%;
    background-position: center 6rem;
    background-attachment: fixed;
    background-repeat: no-repeat;
}
*/
