
html,
body{
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: 'Optima', sans-serif;
  background-color:#053275;
  
}


a{
  background-color:none;
}

.intro{
  background: radial-gradient(circle, #063e93, #05347a, #053275);
  margin-bottom:10px;
}

.language a{
float: right;
font-size:3em;
margin-right:10px;
text-align:right;
}

.language b{
float: left;
font-size:3em;
margin-right:10px;
text-align:right;
visibility: hidden;
}


.image-container{
   margin-top:20px;
   text-align:center;
}

.face-image{
  margin-left:auto;
  margin-right:auto;
  height:250px;
  width: auto;
  border-radius:50%;
  box-shadow: 0 0 0 5px white; /* Creates a white border */
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.5));
}

h1{
  font-size:4em;
  color:white;
  text-align:center;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
h2{
  font-size:3em;
  font-weight:700;
  color:#053275;
  text-align:center;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.1);
  
}
h3{
  color:white;
  margin-bottom:30px;
}
.features{
  width:100%;
  
  text-align:center;
  font-size:1.5em;
  color:white;
}


.headingCont{margin-left:auto; margin-right:auto; margin-bottom:10px;
  width:400px; text-align:center;
}
.headingCont i{position:relative; left:2px; margin-left:4px; margin-right:4px;
  text-align:center; 
  color:#053275; display:inline;
}

.line{position:relative; top:-5px;width:20%; display:inline-block; 
  background-color:#053275; height:4px;
  
}
.blue-underline{
  width:300px;
  height:5px;
  background-color:#053275;
  margin-bottom:40px;
}
.port-pics{
  overflow:hidden;
  padding-left:5px;
}

/** desktop PC **/
.portfolio{
  padding: 0px;
  margin: 0px;
  padding-top:10px;
  padding-bottom:30px;
  background-color:white;
  height: max-content;
}


.portfolio p{
  margin-left:auto;
    margin-right:auto;
    color:black;
}

.portfolio li{
  margin-left:auto;
    margin-right:auto;
    color:black;
}


.portfolio button{
user-select:text;
}

.portfolio .collapsible {
  background-color: #053275;
  font-size:2em;
  color:white;
  
  padding: 18px;
  border: solid;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  text-align: left;
  outline: none;
  border-radius: 10px;
  margin-top: 3px;
  margin-left: 2%;
  width: 96%;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
}



.portfolio .active, .collapsible:hover {
  background-color: #1d025d;
}

.portfolio .collapsible:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.portfolio .active:after {
  content: "\2212";
}

.portfolio .overview-content{
	text-align: left;
	width:90%;
	margin-left:auto;
	margin-right:auto;
}



.portfolio .content {
  margin-top: 5px;
  margin-left: 2%;
  width: 96%;
  padding: 0px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  font-size: 1.35em;
  background: linear-gradient(to right, #d5edff, #e8f5ff);
  border-radius: 10px;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
  
}

 .cta-button {
  background-color: #1d025d; /* Dunkelviolett */
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
  color: white;
  padding: 18px;
  font-size: 2em;
  width: 100%;
  border: solid;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  text-align: center;
  outline: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  text-decoration: none;
}

 .cta-button:hover {
  background-color: #2e035e; /* Hellviolett */

}

.ref button{
user-select:text;
}

.ref .collapsible {
  background-color: #1d025d;
  font-size:2em;
  color: white;
  
  padding: 18px;
  border: solid;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  text-align: left;
  outline: none;
  border-radius: 10px;
  margin-top: 3px;
  margin-left: 2%;
  width: 96%;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
}

.ref .active, .collapsible:hover {
  background-color: #1d025d;
  color: white;
  background: radial-gradient(circle at center,   #1f0264, #1d025d, #1d025d);
}

.ref .collapsible:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}
.ref .active:after {
  content: "\2212";
}


.ref .overview-content{
text-align: left;
	width:90%;
	margin-left:auto;
	margin-right:auto;
}

.ref .content {
	margin-top: 5px;
	padding: 0px;
	margin-left: 2%;
	width: 96%;
	max-height: 0;
	overflow: hidden;
	font-size:1.35em;
    color:black;
	transition: max-height 0.2s ease-out;
	background: linear-gradient(to right, #d5edff, #e8f5ff);
	border-radius: 10px;
    filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
}


.ref p{
	margin-left:auto;
    margin-right:auto;
    font-size:1.0em;
	height: auto;
    color:black;
	padding-left: 2%;
}

.ref blockquote {
	margin: auto;
	font-size:1.0em;
    color:black;
	text-align: left;
	border: none; /* Removes any borders */
}

.ref blockquote cite {
	font-size:0.75em;
}

.ref blockquote::before,
.ref blockquote::after {
	content: '';
	display: block;
	height: 3em;
	width: 100%;
	background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22-6%200%2012%204%22%3E%3Ctext%20x%3D%220%22%20y%3D%222%22%20text-anchor%3D%22middle%22%20font-family%3D%22Georgia%22%20font-size%3D%223%22%20fill%3D%22hsl%28216%2C%2092%25%2C%2024%25%29%22%3E%E2%80%9E%3C%2Ftext%3E%3Cg%20stroke-width%3D%220.1%22%20stroke%3D%22hsl%28216%2C%2092%25%2C%2025%25%29%22%3E%3Cline%20x1%3D%226%22%20x2%3D%221.5%22%20y1%3D%222%22%20y2%3D%222%22%2F%3E%3Cline%20x1%3D%22-6%22%20x2%3D%22-1.5%22%20y1%3D%222%22%20y2%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-position: center;
	background-repeat: no-repeat;
	align-self: center;
}

.ref blockquote:lang(en)::before,
.ref blockquote:lang(de)::after {
	transform: rotate(0.5turn);
}



.impressum{
  padding: 0px;
  margin: 0px;
  padding-top:10px;
  padding-bottom:30px;
  height: max-content;
  background-color:#053275;
  float: none;
  overflow:auto; 
}


.impressum p{
  text-align: center;
  margin-left:auto;
  margin-right:auto;
  font-size:1.0em;
  width:100%;
  color:white;
}



.imprData{
	width:70%;
	margin-left:15%;
}

.imprData p{
	color: white;
	text-align: left;
}

.content {
    flex: 1;
}




.overview {
  background: radial-gradient(circle,   #cce9ff,  #e8f5ff,  #e8f5ff);
  padding: 1em 0;
}

.overview .headingCont {
  margin-bottom: 20px;
}

.overview .overview-content {
  width: 90%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-around;
}

.overview .service {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1em;
  width: 45%;
  text-align: center;
  display: flex;
  flex-direction: column; /* Adjusted to column for better alignment */
  align-items: center; /* Centered the content */
}

.overview .service h3 {
  font-size: calc(1em + 1vw); /* Responsive font size */
  color: #053275;
  margin-bottom: 10px;
}

.overview .service p {
  font-size: calc(0.8em + 0.8vw); /* Responsive font size */
  color: #333333;
  line-height: 1.5; /* Default line height for paragraph */
}

.overview .service p i {
  font-size: calc(0.4em + 0.4vw); /* Smaller responsive font size */
  line-height: 1; /* Override inherited line-height */
  display: inline-block; /* Optional: gives better control over spacing */
  color: #333333;
}



.overview .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px; /* Added margin for spacing */
  
}

.overview .icon img {
  width: calc(2em + 2vw); /* Responsive icon size */
  height: auto;
  filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.5));
}

.overview .icon .content {
  flex: 1;
  text-align: center; /* Center text alignment */
}


.contact {
  background: radial-gradient(circle,   #cce9ff,  #e8f5ff,  #e8f5ff);
  padding: 1em 0;
}

.contact .contact-content {
  width: 90%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-around;
}

.contact .service {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1em;
  width: 45%;
  text-align: center;
  display: flex;
  flex-direction: column; /* Adjusted to column for better alignment */
  align-items: center; /* Centered the content */
}

.contact .service p {
  font-size: calc(0.8em + 0.8vw); /* Responsive font size */
  color: #333333;
  line-height: 1.5; /* Default line height for paragraph */
}


/** Smartphone **/
@media screen and (max-width: 768px){
  
  h1 {
    font-size: 3em;
  }

  h2 {
    font-size: 2.4em; 
  }
  .features {
    font-size: 1.2em;
	padding-left: 2%;
	padding-right: 2%;
  }


.portfolio ul {
	padding-left: 2%;
	}

.portfolio .collapsible {
  font-size:1.1em;
}

.portfolio .content {
  font-size: 0.8em;
  padding-left: 4%;
}


 .cta-button {
  font-size: 1.0em;
}



.ref ul {
	padding-left: 2%;
	}

.ref .collapsible {
  font-size:1.1em;
}

.ref .content {
  font-size: 0.8em;
  padding-left: 4%;
}

.impressum p{
  font-size:0.8em;
}


/**/

.overview .service {
  width: 100%;
}

.overview .service p i {
  font-size: calc(0.6em + 0.6vw); /* Smaller responsive font size */
  line-height: 1.2; /* Override inherited line-height */
}

.contact .service {
  width: 100%;
}

.contact .service p i {
  font-size: calc(0.6em + 0.6vw); /* Smaller responsive font size */
  line-height: 1.2; /* Override inherited line-height */
}

/**/

}
/**End media query**/