
/* Ryus Stylesheets */
/* Color:

#262134
#3c0d6ebe
background-color: rgba(var(--r), var(--g), var(--b), 0.75);




*/


/*  
############################
        
          Title

############################          
*/

@font-face {
  font-family: 'Jersey 25';
  src: url('../webfonts/Jersey25-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

#RyuLogo {
  transition: transform 1s;
  width: 15%;
  height: auto;
  display: inline-block;
  cursor: pointer;
  user-select: none;        /* verhindert Text-/Bildauswahl */
  -webkit-user-drag: none;
  -webkit-user-select: none; /* Für Safari */
  -webkit-tap-highlight-color: transparent;
  touch-action: none;


}
@keyframes rotateOnce {
  from {
    transform: rotateY(0deg);
  }
  to {
    transform: rotateY(360deg);
  }
}

@keyframes rotateProfileOnce {
 0% {
    box-shadow: 0 0 0px #3c0d6ebe;
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 20px #6f24c0be;
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 0 0px #3c0d6ebe;
    transform: scale(1);
  }
}

.rotate {
  animation: rotateOnce 1s ease;
}

#RyuProfile.scale {
  animation: rotateProfileOnce 1s ease;
}

/*  
############################
        
        Glanz Effekt

############################          
*/


.glanz {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 3rem;
  overflow: hidden;
}

.glanz::after {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 30%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  animation: shine 1.5s ease-in-out 1;
  animation-delay: 1s;
  pointer-events: none;
}


@keyframes shine {
  0% {
    left: -50%;
  }
  100% {
    left: 120%;
  }
}




/*  
############################      
*/


h3 {
  font-weight: 400;
}

h1, h2, h3, h4, h5 {
	font-family: "Jersey 25", sans-serif;
		font-weight: 50;
		line-height: 0.75;
		font-style: normal;


}

#RyuProfile img {
 user-select: none;        /* verhindert Text-/Bildauswahl */
  -webkit-user-drag: none;
  -webkit-user-drag: none;
  -webkit-user-select: none; /* Für Safari */
  -webkit-tap-highlight-color: transparent;
  touch-action: none;

}

.skill-box {
    display: inline-block;
    padding: 2px 8px;
    margin: 1px;
    border: 1px solid #3c0d6ebe;         /* dezente graue Umrandung */
    border-radius: 3px;             /* leicht abgerundete Ecken */
    font-size: 15px;
    
    background-color: #3c0d6ebe;         /* weißer Hintergrund */
	  color: #ffffff;

}

.skill-box:hover {
    /*background-color: #674c8100; */
    /* color: #ffffff; */
    font-weight: 500;
    padding: 2px 7px;

} /*



/*  
############################
        
          Games

############################          
*/
 
/*
.GameList:hover::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  z-index: -1;
  border-radius: 4%;
  padding: 1px;
  background: linear-gradient(45deg, #ff00cc, #3333ff); 
  -webkit-mask: 
  linear-gradient(#fff 0 0) content-box, 
  linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;

mask: 
  linear-gradient(#fff 0 0) content-box, 
  linear-gradient(#fff 0 0);
mask-composite: exclude;
}

*/

.GameList {
	padding: 1.45em !important;
	border-radius: 4%;
	border-color: #3c0d6eaf;
	border-width: 1px;
	border-style: hidden;
  transition: transform 0.4s ease;
  min-height: 300px;

  position: relative;
  z-index: 1;
 
}


.GameList:hover {
	
	border-style: solid;
  transform: scale(1.15);
  
  
}

@media screen and (max-width: 480px) {

			.GameList:hover  {
				max-width: calc(100% - 2em);
			}

		}

		@media screen and (max-width: 360px) {

			.GameList:hover  {
				max-width: 100%;
        transform: scale(1.0);
			}

		}


 /* 
  background: linear-gradient(
    to bottom,
    rgba(var(--r), var(--g), var(--b), 0.75),      
    rgba(88, 64, 110, 0.342) 5%,
    rgba(88, 64, 110, 0) 15%
  ); 
  background-size: 100% 150%;
  background-position: top;
  animation: gradientFlow 0.3s ease-in-out forwards;


}
  
*/

@keyframes gradientFlow {
  0% {
    background-position: bottom;
  }
  100% {
    background-position: top;
  }
}



.game-Pics .image {
			display: inline-block;
			padding: 0.5em;
			margin-bottom: 2em;
			border-radius: 100%;
			border: solid 1px;
			border-color: #d1d1d1;
			transition: transform 0.3s ease;
}

  
.game-Pics .image img {
				display: block;
				border-radius: 100%;
				width: 10em;
				aspect-ratio: 1 / 1;
				transition: opacity 0.4s ease-in-out, transform 0.3s ease;

}	

.game-Pics .image:hover {
transform: scale(1.2);

}

/*  
############   Hover Bild Wechsel       ################          
*/
.image-hover-container {
  position: relative;
  display: inline-block;
  width: 10em;
  height: 10em;
  border-radius: 100%;
  padding: 0.5em;
  overflow: hidden;
}

.image-hover-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0.5em;
  border-radius: 100%;
  transition: opacity 1.1s ease-in-out, transform 0.3s ease;
}

.image-hover-container img.hover {
  opacity: 0;
  pointer-events: none;
  padding: 0.3em;
}

.image-hover-container:hover img.static {
  opacity: 0;
}

.image-hover-container:hover img.hover {
  opacity: 1;
}



@media screen and (max-width: 480px) {

			.game-Pics .image:hover  {
        transform: scale(1.1);
			}

		}

		@media screen and (max-width: 360px) {

			.game-Pics .image:hover  {
        transform: scale(1.1);
			}

		}

.gameList:hover .image {
 border-color: #3c0d6ebe; 

}
 
/* Für den Bunten Rahmen beim Pic, wenn man hovert */
/*
.GameList:hover .image::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: 1;
  border-radius: 100%;
  background: linear-gradient(45deg, #ff00cc, #3333ff);
  padding: 2px;

  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;

  mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  mask-composite: exclude;

  pointer-events: none;
}
*/

/*  
############################
        
          Software

############################          
*/


.softwareUl {
  display: flex;
  flex-wrap: wrap;         /* erlaubt Umbruch bei kleinen Bildschirmen */
  gap: 1em;                /* Abstand zwischen den Kreisen */
  justify-content: center; /* optional: zentriert die Kreise */
  padding: 0;
  list-style: none;        /* entfernt die Standardpunkte */
	padding: 0;
	cursor: default;
}

.softwareLi {
  width: 8em;               /* feste Breite */
  height: 8em;              /* gleiche Höhe = Kreis */
  border-radius: 100%;       /* macht es rund */
 /* border: 1px solid #656566af;
  background-color:#656566af; */
  border: 1px solid #3c0d6ebe;
  background-color:#3c0d6eaf;
  color: #ffffff !important;
  padding: 1em;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: inset 0 0 0 0.3em #ffffff;
  transition: transform 0.3s ease;
  scale: 0.8;
  /* cursor:pointer; */
  
}



.softwareSmall {
 width: 5.5em !important;               /* feste Breite */
 height: 5.5em !important; 
}

.softwareLi strong {
 display: block;
				font-size: 1em;
				line-height: 1.3;
				color: inherit !important;
				font-weight: 400;
		
}

.softwareLi:hover {
  border: 1px solid #3c0d6ebe;
  background-color:#3c0d6eaf;
  transform: scale(1.2);
}



.softwareLi.active {
  border: 1px solid #3c0d6ebe;
  background-color:#3c0d6eaf;
  transform: scale(1.2);
}

.skill-boxMaster {

padding-top: 0.45em;
font-weight: 900;
color: #3c0d6ebe;
z-index: 10;
/* font-family: "Jersey 25", sans-serif; */
}


.softwareTagList {
 border: 1px solid #3c0d6ebe; 
/* background-color: #5f249e31; */
border-radius: 10px; 
min-height: 8em;
align-content: center;
padding: 0.2em;
box-shadow: inset 0 0 0 0.3em #ffffff;
/* opacity: 0;
 display: none; */
transition: opacity 0.4s ease;

}

#softwareBigger {
width: 10em;               /* feste Breite */
  height: 10em;  

}

/* .softwareTagList.active {
  display: block;
  opacity: 1;
}

*/

.tagWrapper {
  position: relative;
  display: block;
}

.arrow {
  position: absolute;
  top: -0.98em;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
  width: 2em;
  height: 2em;
  background: transparent;
  border: 1px solid #3c0d6ebe;
  border-bottom: none;
  border-left: none;
  background: linear-gradient(45deg, white 100%, white 566%,transparent 0%);

}

.softwareTagList .skill-boxMaster:first-child {
  margin-top: 1em;
}
.softwareTagList .skill-boxMaster:last-child {
  margin-bottom: 1em;
}

/*  
############################
        
          Software Icons

############################          
*/


.tech-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: white; /* oder inherit, oder eine andere Farbe */
  font-size: 3em;
  padding: 0 0 0.1em 0;
  text-decoration: none;
}


.icon-svg {
  width: 1.2em;
  height: 1.2em;
  vertical-align: middle;
  flex-shrink: 0;
}




/*  
############################
        
          Tooltips

############################          
*/

.tooltip {
  position: relative;
  display: inline-block;
  cursor: help;
}

.tooltip .tooltiptext {
  visibility: hidden;
  opacity: 0;
  width: 400px;
  font-size: 0.7em;
  white-space: normal;
  overflow-wrap: break-word; /* wichtig für lange Wörter */
  word-break: break-word;

  background-color: #333;
  color: #fff;
  text-align: left;
  padding: 0.5em 1em;
  border-radius: 6px;

  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;

  transition: opacity 0.3s ease;
}



.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.tooltip h4 {
    color: #c5399b !important;
}


@media (max-width: 600px) {
  .tooltip .tooltiptext {
    max-width: 70vw;
    font-size: 0.8em;
    left: 0%;
  transform: translateX(-80%);
  }
}


/* ------------------------------------------------- Show Effekt ------------------------------------------------- */


.features {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.features.visible {
  opacity: 1;
  transform: translateY(0);
}


.softwareLi {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.softwareLi.visible {
  opacity: 1;
  transform: translateY(0);
}


.softwareLi {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.softwareLi.visible {
  opacity: 1;
  transform: translateY(0);
}

.softwareLi.visible:hover {
  border: 1px solid #3c0d6ebe;
  background-color:#3c0d6eaf;
  transform: scale(1.2);
}



.tagWrapper {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.tagWrapper.visible {
  opacity: 1;
  transform: translateY(0);
}




/*  
############################
        
 Game ShowOff Dots and more

############################          
*/

.RList {
  opacity: 1;
  transition: opacity 1.2s ease-in;
}

.Rhidden {
  opacity: 0;
  pointer-events: none;
}

.Rinvisible {
  display: none;
}

.Rvisible {
  display: block; /* oder flex/grid je nach Layout */
  opacity: 1;
}

.toggleButton {
transition: transform 0.2s ease-in, background-color 0.3s ease-in-out, fill 0.3s ease-in;
cursor: pointer;
border: 1px solid #8f8f8fbe;
border-radius: 100%;
padding: 0.1em;

}


.toggleButton:hover {
transform: scale(1.2);
background-color: rgba(var(--r), var(--g), var(--b), 0.75) !important;
fill: #fff;



}

.toggleButton:active {
transition: transform 0.05s ease-in;
transform: scale(1.0);


}


.RyuButton:hover {
background-color: rgba(var(--r), var(--g), var(--b), 0.75) !important;
color: #fff !important;

}

/* Standard: PC-Ansicht sichtbar, Mobile ausgeblendet */
@media screen and (min-width: 1000px) {
.PCView {
  display: block;
}

.MobileView {
  display: none;
}
}

@media screen and (max-width: 999px) {
  .PCView {
    display: none;
  }

  .MobileView {
    display: block;
  }
}


/*  
############################
        
 Footer

############################          
*/

/*
.copyright a {
margin-left: 0.4em;

}
*/


#footer .RyuFooter {
			width: 100%;
			margin-top: 2.5em;
			text-align: center;
		}


  .linebreakRyu:after {
        font-size: 1em;  
		    display: block;
				content: '';
				width: 6.25em;
				height: 2px;
				margin: 0.7em 0 1.5em 0;
				border-radius: 2px;
        margin-left: auto;
				margin-right: auto;
        background-color: rgba(255, 255, 255, 0.35);
        background-image: linear-gradient(90deg, #e2717e, #8e7cc0, #6bbef1);
			}



.FooterAddons {
			width: 100%;
			margin-top: -1em;
			font-size: 0.8em;
			text-align: center;
		}    

    #ryutext {
      font-size: 1.2em;
      text-align: center;
      



    }


.FooterLink {
  border-bottom: none;

}


.ryufooter {

border-radius: 1.0em 1.0em 0 0;
position: relative;
background-color: #222122;
width: 64em;
max-width: calc(100% - 4em);
margin: 0 auto;
padding: 2em 2em 0;
text-align: center;
/*transform: translateY(100%);*/
border: 2px solid #222122;
font-size: 80%;



}

@media (min-width: 900px) {
  .ryufooter {
    border-radius: 0.5em 0.5em 0 0;
    
  }
}

		@media screen and (max-width: 480px) {

			.ryufooter {
				max-width: calc(100% - 2em);
			}

		}

		@media screen and (max-width: 360px) {

			.ryufooter {
				max-width: 100%;
			}

		}

