@font-face {
    font-family: 'Comfortaa';
    src: url('fonts/Comfortaa-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Comfortaa';
    src: url('fonts/Comfortaa-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Comfortaa';
    src: url('fonts/Comfortaa-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Comfortaa', sans-serif; 

  background-image: url('img/background.jpg');
  /*
  background-image: url('img/background-2.jpg');
  */
  background-repeat: no-repeat;

  /* unten links fixieren */
  background-position: left bottom;

  /* Standardgröße */
  background-size: 102% auto;

  /* wichtig für volle Höhe */
  min-height: 100vh;
  font-family: 'Comfortaa', sans-serif; 
}

h1 {
  color:#41614A;
}

#preloader {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.9);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}



.settings button {
font-family: 'Comfortaa', sans-serif; 
border-radius: 10px;
  padding-top: 5px;
  padding-left: 15px;
  padding-right: 15px;
  border: 0px;
  font-size: 17px !important;
  margin-top: 3px;
  padding-bottom: 2px;
  background:#F5F4E2;
  -webkit-box-shadow: 1px 1px 3px 0px #000000; 
box-shadow: 1px 1px 3px 0px #000000;
color:grey;
width: 120px;
font-weight:bold;
}

button#surpriseBtn {
  width:200px;
  color:black;
  
}



.settings button:hover, .inputdivframe button:hover {
color:black;
background-color:greenyellow;
}



#chat, #chat p {
white-space: pre-wrap;
font-size:17px;	
text-align:left; 
}

#muteAudio {
  transform: scale(1.2);
  transform-origin: left bottom;
  margin-right: 7px;
  accent-color: greenyellow; /* deine Wunschfarbe */
}

.mute-button {
  padding-top:7px;
}

.settings {
	position:fixed;
	width:100%;
	margin-bottom:30px;
	top:0px;
	padding:15px;
  padding-left:1%;
  z-index: 9999;
	/*
  background: #92aaa5; 
  background-image:url('img/settings-bg.jpg');
  */

  background: linear-gradient(to bottom, #41614A, #6C8F75);


}


.mood-switcher, .geschlecht-switcher, .speech-switcher, .mute-button, .delete-button, .surprise-button {
	float:left;
	margin-right:40px;
	font-size:18px;
  color: #F5F4E2;
}

.settingsheadline {
	float:left;
	margin-right:20px;
  font-size: 22px;
  margin-top: 7px;
  color: #F5F4E2;
  font-weight: bold;
}

.settings button {
	font-size:22px;
}

.speech-switcher {
	display:none;
}


.container {
  position: fixed;

  top: 150px;
  bottom: 210px;
  width:100%;
  max-width: 700px;

  width: calc(100% - 40px);

  padding: 10px;

  overflow-y: auto;

  /*border: 1px solid black;*/
  border-radius: 15px;

  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  
  left: 50%;
  transform: translateX(-50%);

  display: flex;
  flex-direction: column;
  
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);



}

.container h1 {
  /*background: url('img/steiermark-panther.png');
  background-repeat:no-repeat;*/
  padding-top: 0px;
  margin:0px;
  margin-top:15px;
  padding-bottom:0px;
  font-size:27px;

}

.container p {
  margin-top: 7px;
  font-size: 14px;
  padding-top: 0px;
  padding-bottom:5px;
}


#chat {
    height: 50%;   
    overflow-y: auto;    
    overflow-x: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
	padding-left: 10px;
	padding-right: 10px;
	font-size:15px;
	flex: 1;
	overflow-y: auto;
	line-height: 21px;
	padding-top: 10px;
  padding-bottom: 10px;
}

.frage {
	margin-top:10px;
	color: #808080;
}

.frage:nth-child(1) {
  margin-top:0px;
}

.antwort {
	margin-top:-55px;
}

audio {
	width:100%;
}

#input {
	height:40px;
	font-size:14px;
	outline: 0px;
	float: left;
	padding-left: 7px;
	font-family: 'Comfortaa', sans-serif; 
	width: 650px;
  margin-top: 5px;
  padding-top: 3px;
  caret-color: red;
}

#input::placeholder {
    color: #555; /* dunkleres Grau */
    transform: translateX(3px);

}



#sendBtn {
	height: 40px;
  font-size: 18px;
  width: 40px;
  border-radius: 25px;
  position: absolute;
  right: 10px;
  top: 15px;
  border:0px;
  box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
padding-bottom: 5px;
}

#pauseAudioBtn {

  display:none !important;

	height: 40px;
  font-size: 14px;
  width: 40px;
  border-radius: 25px;
  position: absolute;
  right: 59px;
  top: 15px;
  border:0px;
  box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
padding-bottom: 3px;

}

#player {
  margin-top:7px;
}

button.active {
	/*background:#bee5ae;*/
  background:greenyellow;
  border: 2px solid burlywood;
  color:black;
}

.delete-button button {
  color:black;
  width: 170px;
}

.inputdiv {
	position:fixed;
	bottom: 125px;
	width:100%;
	height: 70px; /* Beispielhöhe */
}

.inputdivframe {
	width: 90%;
	max-width:700px;
	border:1px solid black;
	border-radius:15px;
	padding:10px;
	min-height: 50px;
	background: rgba(255,255,255,0.7);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  /*background-image:url('img/settings-bg.jpg');*/
}



.loading {
	width:100%;
	margin-top:-40px;
  margin-left:30px;
}


.figure {
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: contain;
  width: 60%;
  height: 60%;
  position: absolute;
  left: 0px;
  bottom: 0px;
}

.mobileheadline {
  display:none;
}

.ai-notice {
  position: fixed;
  bottom:7px;
  width:100%;
  text-align:center;
  font-size:11px;
  color:#333;
}

.legalnotice {
  position: fixed;
  right: 15px;
  bottom: 7px;
  font-size: 12px;
  background: white;
  padding: 5px;
}

.body-legal-notice {
  background-position: left top;
  background-size:116%;
  min-height:0px;
  background-attachment: fixed;
  
}



.legalnotice a {
  color:#333;
  text-decoration:none;
}

.legal-notice-full {
  margin-top:80px;
  margin-left:20px;
  line-height:22px;
  font-size:15px;
  text-align:left;
  width:100%;
  max-width:800px;
  background-color: rgba(255, 255, 255, 0.85);
  padding:20px;
}

.legal-notice-full a {
  color:#333;
  text-decoration:none;
}

.contact-email {
  position:absolute; 
  left:-9999px;
}

.infotext {
  max-width: 875px;
  text-align:left;
  padding-top:30px;
  line-height: 24px;
  color: white;
  padding-bottom:40px;
  padding-top: 80px;
  animation: fadeIn 0.6s ease;
}


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.chat-info summary {
    list-style: none;
    cursor: pointer;
    display: inline-block;
    font-size: 28px;
    user-select: none;
}

/* Standard-Pfeil entfernen */
.chat-info summary::-webkit-details-marker {
    display: none;
}

.chat-info summary::before {
    content: "?";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-weight: bold;
    font-size: 14px;
    color: white;
    margin-top: 5px;
    position: absolute;
    right: 55px;
}

/* Wenn geöffnet */
.chat-info[open] summary::before {
    content: "x";
}

.infotext a {
  color:white !important;
  text-decoration:none !important;
  font-weight:bold;
}

footer {
  margin-top:35px;
}

.infotext h2 {
  color:greenyellow;
}

.closebutton {
  position:fixed;
  top:20px;
  right:30px;
  font-size:34px;
  color:black !important;
}

.closebutton a {
  color:black !important;
  text-decoration:none;
}

.subtitledesktop {
display:block;
}

.subtitledmobile {
  display:none;
}

.surprise-button {
  position:fixed;
  bottom:80px;
  left: 50%;
  transform: translateX(-50%);
}

.delete-button {
  margin-left:30px;
}



/* ------------------------------------------------------------ DESKTOP VERSION ZWISCHENGRÖSSE ------------------------------------------------------------------*/


@media (min-width: 1121px) and (max-width: 1460px) {

.settings button {
  padding-left: 5px;
  padding-right: 5px;
  font-size:15px !important;
  
}

.mood-switcher, .geschlecht-switcher, .speech-switcher, .mute-button, .delete-button, .surprise-button {
  margin-right: 20px;
}

.mood-switcher button, .geschlecht-switcher button {
  width:90px;
}


.settingsheadline {
    font-size: 19px;

}

button#surpriseBtn {
  width: 160px;
  font-size:15px;

}



.delete-button button {
  width: 120px;
  font-size:15px;
}

.mute-button {
  font-size:15px;
}

.figure {
  
  background-size: 50%;
  
}
    
}



/* ------------------------------------------------------------ MOBILE VERSION 1120px ------------------------------------------------------------------*/

@media (max-width: 1120px) {

  body {
    background-size:cover;
  }

  .loading {
	width:100%;
	margin-top:-30px;
  margin-left:-10px;
}

.loading img {
  max-width:200px;
}


  .settings {
    display:block;
    padding-top:10px;
    padding-bottom: 10px;
  }

  .settingsheadline {
    margin:0px;
    font-size:18px;
    display: block;
    float: none;
    margin-bottom: 2px;
  }

  .mood-switcher, .geschlecht-switcher, .speech-switcher, .mute-button, .delete-button, .surprise-button {
	margin:0px;
}

.geschlecht-switcher {
  float:left;
  margin-left:4px;
}

 .mood-switcher {
  float:right;
  margin-right: 16px;
 }

.settings button {
  padding-top: 5px;
  padding-left: 10px;
  padding-right: 10px;
  width: auto;
  margin-left: 0px;
  margin-right: 0px;
  font-size:14px !important;
  border-radius:5px;

}

.mute-button, .chat-info, .delete-button {
  display:none;
}

.surprise-button {
  position:fixed;
  bottom: 85px;
 left: 49%;
    transform: translateX(-50%);
}

button#surpriseBtn {

   font-size:14px !important;
   animation: pulse 1.8s ease-in-out infinite;

}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

  .container {
  position: fixed;
    transform: inherit;
    padding: 0px;
    margin-top: 10px;
    width: calc(100vw - 20px);
    top: 20px;
    max-width: none;
    left: 10px;
    right: 10px;
    /*height: calc(90vh - 250px);*/
    bottom: 180px;
    margin-top: 74px;
    background: rgba(255,255,255,1);
  }

  .inputdiv {
  position: fixed;
  width: 100%;
  height: 70px;
  display: block;
   margin-top: 5px;
   bottom: 100px;
  }

  .inputdivframe {
   width: 96%; 
   padding:0px;
   max-width:none;
  
  }

  #input {
  float: left;
   width: calc(100vw - 84px);
    margin-left: 10px;

}

#chat {
  border-top: 1px solid #EBEBEB;
   /*height: calc(90vh - 250px);*/

}

.figure {
  display:none;
}

#sendBtn {
  height: 34px;
  width: 34px;
  border-radius: 25px;
  position: absolute;
  right: 10px;
  top: 8px;
  border: 0px;

}

.ai-notice {
  bottom: 29px;

}

.legalnotice {
  left: 10px;
    text-align: center;
    border-radius: 10px;
    padding: 2px;
    bottom: 5px;
    right: 10px;
}

.legal-notice-full {
  margin-top: 20px;
  margin-left: 0px;
   max-width: 85%;

}

.body-legal-notice .legalnotice {
  display:none;
}

.subtitledesktop {
display:none;
}

.subtitledmobile {
  display:block;
  line-height: 18px;
  margin-bottom: 10px;
}


.container h1 {
   font-size: 24px;
}



}



/* ------------------------------------------------------------ MOBILE VERSION 360px ------------------------------------------------------------------*/

@media (max-width: 360px) {


.settings button {

  padding-left: 8px;
  padding-right: 8px;

}

 .container h1 {
    font-size: 21px;
    padding-bottom:5px;
    
  }



.container {
  bottom:150px;
}

.container p {
padding-bottom: 0px;
}

.inputdiv {
    bottom: 75px;
  }

#chat {

  font-size: 14px;
  line-height: 20px;

}

.subtitledmobile {
  display:none;

}

.surprise-button {

 bottom: 65px;
}

 .ai-notice {
    bottom: 25px;
  }



}


/* ------------------------------------------------------------ MOBILE VERSION 342px ------------------------------------------------------------------*/

@media (max-width: 342px) {

 .mood-switcher {
    float: left;
    margin-left: 4px;
  }

  .settingsheadline {
    
    text-align: left;
    margin-left:4px;
  }

  .container {
      margin-top: 100px;
  }

 


}