:root {
  --red:       rgb(189,  14,  13);
  --gold:      rgb(181, 166, 147);
  --gold_50:   rgba(181, 166, 147, 0.5);
  --ltgold:    rgb(224, 218, 209);
  --ltgold_50: rgba(224, 218, 209, 0.5);
  --dkgold:    rgb(152, 131, 103);
  --dkgold_50: rgba(152, 131, 103, 0.5);
  --vdkgold:   rgb(121, 105,  83);
  --blue:      rgb(0, 0, 102);
}


html {
	scroll-behavior: smooth;
}


h1,h2,h3,h4,h5,h6 {
	font-family: "Bitter", serif; /* "Bitter", serif; */
	  letter-spacing: 0.1em;
	  font-weight:700
}


/* section#datenschutz h1, section#impressum h1, */
section#datenschutz h2, section#impressum h2,
section#datenschutz h3, section#impressum h3,
section#datenschutz h4, section#impressum h4,
section#datenschutz h5, section#impressum h5,
section#datenschutz h6, section#impressum h6 {
	  font-family: inherit;
	  letter-spacing: inherit;
	  font-size: inherit;
	  margin-top: 2em;
	  font-weight:700;
}


body, html {
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
  	line-height: 1.8;
}


a {
	text-decoration:none;
}

.y3-hyphens a {
	border-bottom: 1px solid var(--red);
	font-weight: 500;
	color: var(--blue)
}

/* --------------------------------------------------------------------  L I S T S   -- */

ul > li {
	padding-top:0.5em;
}


ul > li::marker  {
	content: "▶  ";
	color: var(--red);
	font-family: "arial", sans serif;
	font-size: 0.75em;
}



ul.wappen {
	list-style: none;
	padding-left: 1em;
}

ul.wappen > li {
	position: relative;
	padding-top:0;
	padding-left: 4em;
	margin-bottom: 1.5em;
	
	min-height:2em;
	line-height: 1.3em;
}


ul.wappen > li::before  {
	content: '';
	position:absolute;
	width: 48px;
	height: 48px;
	left:0px;
	top:-0.9em;
	background-repeat: no-repeat;
	background-image: url("../images/logo_no_text.svg");
	background-size: cover;
}
ul.wappen > li::marker  {content: "";}



/* --------------------------------------------------------  H O M E   H E A D E R   -- */

/* Full height image header */
/*
.homeheader {
   position: relative;
   width: 100vw;
   height: 100vh;
   display: flex;
   justify-content: center;
   align-items: flex-end;
}

.homeheader::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url("../images/RalfMichelsConsulting_2866x1080.svg"), url("../images/hero_centered2.jpg");
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center top;
   filter: brightness(100%);
}
*/
.hero  {    
	position: relative;
	width: 100vw;
	height: 100vh;
}



.homeheader, .homeheader .image, .homeheader .foreground {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	width: 100%;
	height: 100%;

}

.homeheader .image  {
		background-image: url("../images/hero_centered2.jpg");
}

.homeheader .foreground  {
		background-image: url("../images/RalfMichelsConsulting_2866x1080.svg");
}




/* square image header if portrait */

@media (orientation: portrait) {
	.homeheader {
		height: 100vw; /* height = width */
	}
	.homeheader::before {
		background-clip: content-box;
	}
	.hero  {
		height: auto;
	}
}

/* --------------------------------------------------------  P A G E   H E A D E R   -- */

.pageheader {
   position: relative;
   width: 100vw;
   height: 400px;
   display: flex;
   justify-content: center;
   align-items: flex-end;
   background-color: var(--dkgold);
   visibility: hidden; /* necessary for animation (do not show bg without pic overlay) */
}

.pageheader > div {
    position: absolute;
    top: 0;
   	left: 0;
   	width: 100%;
   	height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 40%;
    filter: opacity(80%);
} 


/* ----------------------------------------------------------------------  L O G O   -- */

.logo  {
  position: absolute;
  left: 27px;
  top: 14px;
  display: inline-block;
  background-color:transparent;
  background-image: url("../images/logo_lang.svg");
  background-position: top left;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 250/45;
  width: 355px;
}

.logo.small {
	top: 3px;
	width: 225px;
}

.logo-nav  {

	background-image: url("../images/logo_no_text.svg");
	background-position: top center;
	background-size: cover;
  	background-repeat: no-repeat;
    display: inline-block;
	height:70px;
	width: 60px;
	float:left;
	margin-top:10px;
}

.logo-ul  {

	background-image: url("../images/logo_no_text.svg");
	background-position: top left;
	background-size: cover;
  	background-repeat: no-repeat;
    display: inline-block;
	height:100%;
	width: 100%;
}

/* ------------------------------------------------------------------------  N A V   -- */

	.w3-sidebar {width: 120px;}
	#sidenav {z-index:100;background-color: #fffd; line-height:1.2}
	#logobar, #logobarfixed, #logobardropdown, #logobardropdown_mid {z-index:200; background-color: #fffd; line-height: 1.2; overflow:visible;} /* necessary for dropdowns*/	
	#logobar, #logobarfixed {height: 85px;}
	#logobardropdown, #logobardropdown_mid {height: 46px;} 	
	#logobar .w3-bar-item, #logobarfixed .w3-bar-item {padding-left: 8px; padding-right: 8px;}
	
	#logobardropdown .w3-bar-block .w3-bar-item, #logobardropdown_mid .w3-bar-block .w3-bar-item {padding: 16px 8px;}
	
	#logobarfixed {position:absolute; top: -100px; transition: top 0.4s;}

    #logobardropdown .w3-dropdown-hover:first-child,
    #logobardropdown_mid .w3-dropdown-hover:first-child  {background-color:inherit;} /* override w3css */

	#logobardropdown_mid .w3-dropdown-content {
		top:40px;
	}

	svg #red   {fill:var(--gold)}
	svg #white {fill: none}
	svg #gold  {fill:var(--gold)}

	svg:hover #red,   .active svg #red   {fill: var(--red)}
	svg:hover #white, .active svg #white {fill: white}
	svg:hover #gold,  .active svg #gold  {fill:var(--dkgold)}

	#sidenav span.menutext,
	#logobar span.menutext {
		display:block; 
		padding: 0 4px; 
	}

	
	#sidenav .active span.menutext,
	#logobar .active span.menutext {
		color:white; 
		background-color: var(--red);
	}
/*
	.sticky {
  		position: fixed;
  		top: 0;
  		width: 100%;
  		z-index:10000;
	}
	.sticky + #main  {
		padding-top: 85px;
	}
*/

/* sidemenu extra space */
.menuspace {padding-left: 120px;}

.y3-show-small-menu,
.y3-show-mid-menu,
.y3-show-large-menu {
	display: none;
}

/*eigene breakpoints für das top und sidemenu*/
@media (max-width: 500px) {
	.y3-show-small-menu  {display:block !important;}
	/* Remove margins from "page content" on small screens */
	.menuspace {padding-left: 0;}
	.hero, .pageheader {margin-top: 46px;}
}


@media (min-width: 501px) and (max-width: 900px) {
	.y3-show-mid-menu  {display: block !important;}
	/* Remove margins from "page content" on mid screens */
	.menuspace {padding-left: 0}
	.hero, .pageheader {margin-top: 46px;}
}

@media (min-width: 901px) {
	.y3-show-large-menu  {display: block !important;}
}



/* ------------------------------------------------------------------  F O O T E R   -- */
footer h4 {
	font-family: "Montserrat", sans-serif;
	text-transform: uppercase;
	font-size: 0.8rem;
	margin: 4em 0 0 0;
	}

footer  {
	font-size: 0.8rem;
	line-height:1.5rem;
}


footer a.internal::after
{
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 10px;
  background-image: url("data:image/svg+xml,%3Csvg fill='white' version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.718 8.3535a0.5 0.5 0 0 0 0-0.70711l-3.5355-3.5355a0.5 0.5 0 0 0-0.70711 0.70711l2.6821 2.6821-11.521-7.065e-4a0.50063 0.50063 0 1 0 0 1.0013l11.521-7.077e-4 -2.6821 2.6821a0.5 0.5 0 0 0 0.70711 0.70711z' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}


footer a[href^="http"]::after,
footer a[href^="https://"]::after
{
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}




/* ----------------------------------------------------------  Y 3 - A D D   O N S   -- */

.y3-bold {
	font-weight:900;
}
.y3-text-red  {
	color: var(--red) !important;
}

.y3-text-ltgold, .y3-text-hover-ltgold:hover  {
	color: var(--ltgold) !important;
}


.y3-text-gold, .y3-text-hover-gold:hover  {
	color: var(--gold) !important;
}

.y3-text-vdkgold, .y3-text-hover-vdkgold:hover {
   color: var(--vdkgold) !important;
}

.y3-text-dkgold, .y3-text-hover-dkgold:hover {
	color: var(--dkgold) !important;
}

.y3-ltgold, .y3-hover-ltgold:hover  {
	background-color: var(--ltgold) !important;
}

.y3-gold, .y3-hover-gold:hover {
	background-color: var(--gold) !important;
}

.y3-dkgold, .y3-hover-dkgold:hover  {
	background-color: var(--dkgold) !important;
}

.y3-vdkgold, .y3-hover-vdkgold:hover  {
	background-color: var(--vdkgold) !important;
}

.y3-grey  {
	background-color: rgba(0,0,0,20%)!important;
}


.y3-petite-caps  {
	font-variant-caps: petite-caps;
}

.y3-small-caps  {
	font-variant-caps: small-caps;

}

.y3-upper  {
	font-variant: small-caps;
}
.y3-uppercase  {
	 text-transform: uppercase;
}

.y3-plain  {
	text-decoration:none;
}

.y3-xl   { font-size:  84px !important; } 
.y3-xxl  { font-size:  96px !important; } 
.y3-xxxl { font-size: 124px !important; }

svg :root {
  fill: context-fill;
}

.y3-shadow {
  filter: drop-shadow(4px 4px 2px rgb(0 0 0 / 0.1));
}


.y3-icon-s    { width: 40px; height: 40px; }
.y3-icon-m    { width: 60px; height: 60px; }
.y3-icon-l    { width: 80px; height: 80px; }
.y3-icon-xl   { width:100px; height:100px; }
.y3-icon-xxl  { width:120px; height:120px; }
.y3-icon-xxxl { width:140px; height:140px; }
.y3-icon-4xl { width:160px; height:160px; }
.y3-icon-5xl { width:200px; height:200px; }

.y3-center { margin-left:auto; margin-right:auto;}

.w3-bar .w3-button {
  padding: 16px;
}

/* --------------------------------------------------------  T E S T I M O N I A L   -- */

.testimonial blockquote {
  
  background: transparent;
  margin:20px 50px;
  position:relative;
  font-style: italic;
}


.testimonial blockquote:before,
.testimonial blockquote:after {
  font-family: "Bitter", serif;
  position: absolute;
  font-size: 200px;
  color: var(--gold_50);
  font-style: normal;
}

.testimonial blockquote:before {
  background: transparent;
  content: "\201D";
  top: -20px;
  left: -65px;
  line-height:1;
  
}

/*
.testimonial blockquote:after {
  background: transparent;
  content: "\201D";
  right: -50px;
  bottom: -40px;
  line-height:1;
  height:90px;
}
*/

.testimonial p {
  margin: 0px;
  text-align: left;
  font-size: 24px;
}

/* ----------------------------------------------------------  A N I M A T I O N S   -- */

.w3-animate-opacity{
	animation:opac;
	animation-duration: 2s;
	animation-delay: .5s;
	opacity:0;
	animation-fill-mode: forwards;
}
@keyframes opac{
	from{opacity:0} to {opacity:1}
}

/* --------------------------------------------------  I T E M   C O N T A I N E R   -- */


.item_container {
  border: 1px solid var(--dkgold_50);
  border-radius: 20px;
  margin: 8px 0;
  aspect-ratio: 8/5;
  position:relative;
}


.item_container div  {	
  width:100%;
  padding: 10%;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* ------------------------------------------------------------  F L I P   C A R D   -- */

/* source: https://www.w3schools.com/howto/howto_css_flip_card.asp  */
.flip-card {
	background-color: transparent;
	width: 100%;
	perspective: 1000px;
	aspect-ratio: 8/5;
	margin: 8px 0;
}

.flip-card-inner {
	position: relative;
	width: 100%;
	text-align: center;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
	transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
	border: 1px solid var(--dkgold_50);
	border-radius: 20px;
	position: absolute;
	width: 100%;
	-webkit-backface-visibility: hidden;
	        backface-visibility: hidden;
	aspect-ratio: 8/5;
}

.flip-card-front {
	background-color: white;
}

.flip-card-back {
	background-color: white;
	transform: rotateY(180deg);
}

.flip-card-front div.wrapper, .flip-card-back div.wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:100%;
	padding: 10%;
	margin: 0;
	
}

.flip-card-back div.wrapper {
	padding: 5%;
	margin-top:5px;
}
.flip-card-back svg {
	/* background-color: #0003; */
}

.flip-card-back svg text{
		fill: #666;
}
.flip-card-back svg text a{
		fill: blue;
		text-decoration:underline;
}


/* --------------------------------------------------------------------  T O O L S   -- */

ins {color:green;}
del {color:red;}