/* ==============================
		TAULUT
==============================*/
.taulukontti {
	display: flex;
	gap: 2.5rem;
	margin-bottom: 30px;
	font-family: "Saira Semi Condensed", sans-serif;	
	font-weight: 300;			
	}

.tauluosio {
	flex: 1;
	width:100%;
	}

/* taulut */
.taulu {
	border-collapse: collapse;
	overflow: hidden;
	}

.tittelitaulu,
.tietotaulu {
	width: 100%;
	}

.tilastotaulu {
	color: #cfd2d4;
	width: 100%;
	font-size: 0.9rem;
	margin-bottom: 30px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	background: rgba(0, 0, 0, 0.7);
	}

.pentuetaulu {
	width: 90%;
	margin: 0 auto;
	}

.vanhempitaulu {
	width: 100%;
	margin: 0 auto;
	}
	
/* solut */
.taulu td {
	vertical-align: top;
	}

.tittelitaulu td {
	padding: 0.5rem 1rem 2rem;
	width:45%;
	}
	
.tilastotaulu td {
	padding: 10px 8px;
	}

.tietotaulu td {
	font-size: 0.85rem;	
	padding: 6px 0px;
	border-bottom: 1px solid #104d6e;
	}

.pentuetaulu td {
	font-size: 1rem;	
	padding: 6px 0px;
	border-bottom: 1px solid #104d6e;
	}	
	
.vanhempitaulu td {
	font-size: 0.95rem;	
	padding: 6px 0px;
	border-bottom: 1px solid #104d6e;
	}	

.tietotaulu td:first-child, .pentuetaulu td:first-child, .vanhempitaulu td:first-child {
	color: #63d0f7;
	font-weight: 400;		
	}

.tietotaulu tr:last-child td, .pentuetaulu tr:last-child td, .vanhempitaulu tr:last-child td {
	border-bottom: none;
	}

.tilastotaulu th {
	color: #78bbf5;
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 500;
	font-size: 0.9rem;	
	text-transform: uppercase;	
	text-align: left;
	padding: 12px;
   border-bottom: 1px solid #78bbf5;	
	}

.tilastotaulu tr:nth-child(even) {
	background-color: #f8f9fa;
	background: rgba(255, 255, 255, 0.1);	
	}

.tilastotaulu tr:hover {
	background-color: #15548c;
	background: rgba(207, 212, 231, 0.3);		
	}
	
/* ==============================
		RUUDUKOT (GRID)
==============================*/
.ruudut {
	display: grid;
	}

.omaruutu {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
	margin: 2rem 0;
	}
 
.kasvattiruutu {
	grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
	margin: 0 auto;
	width:80%;
	}

.sisus {
	text-align: center;
	}

.kasvattisisus {
	text-align: center;
	}

.omasisus {
	padding: 1.5rem;	
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	}

.kasvattisisus a:link {
	color: #fbbf24;
	text-decoration: none;
	margin: 10px 0px 0px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.2rem;
	font-family: "Saira Semi Condensed", sans-serif;
	background: linear-gradient(180deg, #0dcfff, #2895a6);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	display: inline-block;
	}

.kasvattisisus a:hover {
	background: linear-gradient(0deg, #fbd424 0%, #fa893e 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 0 10px rgba(152, 212, 245, 0.2); 
	}

.kasvattisisus a:visited {
	}

.omasisus:hover {
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	}

.omasisus span {
	font-size: 0.8em;
	font-style: italic;
	color: #FFECDB;
	}

/* ==============================
		FLEXIT (GRID)
==============================*/
.flexvanhempi {
    display: flex;
    gap: 2rem;
    margin: 1rem 0;
    flex-wrap: wrap;
}

.vanhempiruutu {
    flex: 1;
    width: 300px;
}

.vanhempi  {
}

.vanhempi span  {
	color: #fa893e;	
	font-size: 1rem;
	font-style: italic;
	text-align: center;
	font-weight: 400 !important;	
	margin: 0;
	text-shadow: 0 0 10px rgba(152, 212, 245, 0.3); 
}

/* ==============================
		KUVANAPIT
==============================*/
.kuvakontti {
	position: relative;
	margin: 0 auto;
	border-radius: 50%;
	border: 3px solid #FF9149;
	transition: border-color 0.5s ease;
	overflow: hidden;
	}

/* omat */
.isokk {
	width: 200px;
	height: 200px;
	}

/* kasvatit */
.pienikk {
	width: 125px;
	height: 125px;
	}

.kuvakontti:hover {
	border-color: #fbbf24;
	}

.kuvakontti::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0);
	transition: background 0.5s ease;
	pointer-events: none;
	}

.kuvakontti:hover::after {
	background: rgba(0, 0, 0, 0.4);
	}

.profiilikuva {           
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	transition: all 0.5s ease;
	}
	
.profiilikuva:hover {
	cursor: pointer;
	filter: brightness(1.2) saturate(1);
}
	
/* ==============================
		GALLERIAT
==============================*/	
.galleria {
	margin: 2rem 0 3rem;
	display: flex;
	gap: 2rem;
	justify-content: center;
	}

.kuva {
	position: relative;	 
	overflow: hidden;
	transition: border-color 0.5s ease;	 
	}
	
.kuvaoma {height: 400px;}
.kuvakasvatti {height: 350px;}
.kuvavanhempi {height: 250px;}
.kuvaesittely {height: 200px;}

.koriste {
	display: block;
	width: 90%;
	margin: 1rem auto;
	max-width: 100%; 
	height: auto;
	border-radius: 25px;
	border: 3px solid #FF9149; 
}
	
.kuva img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 0.6s ease;	 
	border-radius: 15px;
	border: 3px solid #FF9149;
	}

.kuva:hover img {
	filter: brightness(0.6) saturate(0.8);
	border-color: #fbbf24;
	}

.valokuvaaja {
	position: absolute;
	bottom: 20px;
	left: 20px;
	color: white;
	font-size: 1.2rem;
	font-weight: 300;
	font-family: "Montserrat", sans-serif;		 
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
	}
	
.kuva:hover .valokuvaaja, {
   opacity: 1;
	}	
	
/* ==============================
		KASVATTISIVU
==============================*/
.kasvatti-kooste {
	border-radius:50px;
	padding: 3rem 3rem 0.5rem;
	}

.kasvatti-tiivistys  {
	text-align: center;
	margin-bottom: 3rem;
	font-size: 1.2rem;
	}
 
.jakaja {
	height: 10px;
	background-image: repeating-linear-gradient(
	135deg,        
	transparent, 
	transparent 6px,
	#1e40af 6px,
	#78bbf5 8px
	);
	margin: 0 auto;
	width: 60%;
	opacity:0.7;
	}

.kasvattikontti {
	margin: 2rem 0 5rem;
	padding-top: 2rem;
	}

/* ==============================
		KIELIASETUKSET 
==============================*/

.uutiset {
	height: 280px;
	overflow-y: auto;
	background: rgba(255, 255, 255, 0.1);
	padding:0 1.5rem;
	margin-bottom:4rem;
}

.uutvanha {
	height: auto !important;
}

.sisalto {
	margin:1rem 0;
	}

.kielet {
	display: flex; 
	gap: 20px;
	}

.kieli {
	flex:1;
	background-color: inherit;
	}
	
.kieli::before {
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
	margin-bottom:0.5rem;
	}
	
.kieli.fi::before { content: url('flag/fi.png'); }
.kieli.en::before { content: url('flag/gb.png'); }

/* ==============================
		BUTTONIT
==============================*/
.painikkeet {
	text-align:center;
	margin:3rem;
	}

.painike {
	color: #000;
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 400;
	font-size: 1rem;	
	text-transform: uppercase;
	display: inline-block;
	margin: 0 0.6rem;
	background-color: #FF9149;
	text-decoration: none;
	transition: background-color 0.3s ease;
	box-shadow: 0 0 15px rgba(152, 212, 245, 0.2); 
	}

.painike:hover {
	background-color: #fbbf24;
	box-shadow: 0px 0px 10px rgba(255, 145, 73, 0.4); 
	}

.yleis {
	font-size: 1rem;	
	padding: 10px 15px;
	border-radius: 10px;
	}

.pentue {
	font-size: 0.8rem;
	padding: 6px 12px;
	border-radius: 15px;
	}

/* ==============================
		SCROLLAA YLÖS 
==============================*/
#ylos {
	display: none; 
	position: fixed;
	bottom: 80px;
	right: 30px;
	z-index: 99;
	font-size: 36px;
	border: none;
	outline: none;
	background-color: rgba(255, 255, 255, 0.0);
	color: #FF9149;
	cursor: pointer;
	transition: background-color 0.3s, transform 0.3s;
	}

#ylos:hover {
	background-color: rgba(255, 255, 255, 0.0);	
	color:#fbbf24;
	opacity: 0.9;
	}

.fade-in {
    opacity: 1;
    transform: translateY(0);
}	

/* ==============================
		koirat
==============================*/

.lyhyt {
	text-align: center;
	}

.lyhyt p {
	font-size: 0.8rem;
	font-style: italic;
	color: #ffe9db;
	}


/* ==============================
		SUKUTAULU
==============================*/
.pedigree {
	border-spacing: 5px;
	border-collapse: separate;
	width:100%;
	margin: 3rem 0;
	}

.flag {
    position: absolute;
    top: 10px;
    right: 10px;
	 }

.pedigree td {
	font-family: "Roboto", sans-serif;
	font-size: 0.9rem;
	vertical-align: middle;
	padding: 8px 5px 5px 8px;
	line-height:1em;
	position: relative;
	}

.isa, .emo {
	font-size: 1rem !important;
	font-weight:400;
	padding:1.2rem !important;
	}
	
.urokset {background-color: rgba(255, 255, 255, 0.1);}
.nartut {background-color: rgba(255, 255, 255, 0.15);}

/* ==============================
		otsikot
==============================*/
.content h1,
.content h2,
.content h3,
.content h4 {
	font-family: "Saira Semi Condensed", sans-serif;
	text-transform: uppercase;
	font-weight: 500;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text;
	}

.content h1 {
	font-size: 2.5rem;
	background: linear-gradient(0deg, #fbd424 0%, #fa893e 100%);
	color: #FF9149;
	display: inline-block;
	padding-bottom: 0.5rem;	
	margin-bottom: 1rem;	
	text-shadow: 0 0 20px rgba(251, 212, 36, 0.5);
}

.content h2 {
	font-size: 1.6rem;
	background: linear-gradient(0deg, #1e40af 0%, #78bbf5 100%);
	color: #78bbf5;
	margin: -2rem 0;
	text-shadow: 0 0 10px rgba(152, 212, 245, 0.3); 
}

.content h3 {
	font-size: 1.6rem;
	background: linear-gradient(0deg, #1e40af 0%, #78bbf5 100%);
	display: inline-block;
	margin: 10px 0px 5px;	
	text-shadow: 0 0 10px rgba(152, 212, 245, 0.3); 	
}

.content h4 {
	font-size: 1.2rem;
	background: linear-gradient(180deg, #78bbf5, #0656b8);
	color: #0dcfff;
	margin: 2rem 0 1rem 0;
	text-shadow: 0 0 15px rgba(251, 191, 36, 0.2);
}

.omasisus h4 {
	margin: 10px 0px 0px;
	background: linear-gradient(180deg, #0dcfff, #2895a6);
	display: inline-block;
}

.vanhempi h4 {
	font-size: 1.2rem;
	background: linear-gradient(0deg, #fbd424 0%, #fa893e 100%);
	color: #0dcfff;
	margin: 0.3rem 0;
	text-shadow: 0 0 15px rgba(251, 191, 36, 0.2);
}

.kasvattikontti h5, .tabcontent h5, h5 {
	color: #fa893e;	
	font-size: 1.6rem;
	font-style: italic;
	text-align: center;
	font-weight: 400 !important;	
	margin: 0;
	text-shadow: 0 0 10px rgba(152, 212, 245, 0.3); 
}

.h2-container {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 2rem 0 2rem 0;
}

.h2-container::after {
	content: '';
	flex: 1;
	height: 1px;
	border-bottom: 1px solid #78bbf5;
}

.tilastonimi {
	color: #a7b5d1;
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 500;
	font-size: 0.9rem;	
	text-transform: uppercase;	
}

.tittelitaulu span {
	color: #0497e1;
	font-weight: 600;	
}

/* ==============================
		listat
==============================*/

.jasenyys {
	margin-left:2rem;
}

.jasenyys li a {
	color: #FF9149;
	text-decoration: none;	
}

.jasenyys li a:hover {
	color: #fbbf24;
	text-decoration: none;	
}

ul.jasenyys,
ul.tittelit {
  list-style: none;
  padding-left: 0;
}

ul.jasenyys li::before,
ul.tittelit li::before {
  content: "➤";
  margin-right: 0.5em;
}

.tittelit li {margin-left:1.5rem;}

.uutiset ul {
	list-style-type: none;
	margin-bottom: 1rem;
}

.uutiset ul li::before {
	content: "‣";
	margin-right: 0.5rem;
	color: #FF9149;
}

.uutiset a {
	color:#fbbf24;
	text-decoration: none;
}

.uutiset a:hover {
	color:#FF9149;
	text-decoration: none;
}
