/* Reusable but site specific styles */

.hero_panel_inner {
	width: 100%;
	max-width: 2400px;
	margin-inline: auto;
	background-color: var(--theme);
	min-height: 320px;
	display: flex;
}

.hero_panel_inner picture {
	width: 100%;
	line-height: 0;
	display: flex;
}

.hero_panel_inner img {
	aspect-ratio: 288 / 100;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: auto;
}

/* page panels */



.lv_element {
	text-align: left;
}


.card_links {
	display: flex;
	gap: var(--gap);
	margin-inline: auto;
	justify-content: center;
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.card_link {
	display: flex;
	box-shadow: var(--shadow);
	max-width: 360px;
	transition: var(--transition);

}

.card_link picture {
	display: flex;
	vertical-align: bottom;
}

@keyframes scale_bounce {
	0% {
		transform: scale(1);
	}

	60% {
		transform: scale(1.4);
	}

	100% {
		transform: scale(1.2);
	}
}

.card_link:hover {
	animation: scale_bounce 0.3s ease-in-out;
	animation-fill-mode: forwards;

}

.kid_kards {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	justify-content: center;
}

.kid_card {
	display: flex;
	flex-direction: column;
	border-radius: 32px;
	background: var(--dark, #273331);
	box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.80);
	transition: var(--transition);
	background-color: var(--dark);
	color: var(--pale);
	text-align: center;
	text-decoration: none;
	flex-basis: 40%;
	padding: 0;
	min-width: 320px;
}

.kid_card_icon {
	display: flex;
	justify-content: center;
	height: 80px;
	margin-top: -60px;
}

.kid_card_icon_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	width: 80px;
	border-radius: 50%;
	border: 8px solid var(--dark);
	background-color: var(--pink);
	color: var(--dark);
	transition: var(--transition);
}

.kid_card_image img {
	width: 100%;
	height: auto;
	border-top-left-radius: 32px;
	border-top-right-radius: 32px;
}

.kid_card:hover {

	background-color: var(--pink);

	.kid_card_icon_inner {
		border: 8px solid var(--pink);
		background-color: var(--dark);
		color: var(--pink);
		transition: var(--transition);
	}
}

.kid_card_inner {
	padding: 16px;
}

.kid_card h2,
.contented.kid_card h2 {
	text-align: center;
	text-box-edge: cap;
	font-family: Teko;
	font-size: 38px;
	font-style: normal;
	font-weight: 700;
	line-height: 100%;
	/* 38px */
	text-transform: uppercase;
	padding: 0;
	border: 0;
	margin: 0;
}

.kid_card_summary {

	/* service-card-summary */
	font-family: Teko;
	font-size: 28px;
	font-style: normal;
	font-weight: 400;
	line-height: 130%;
	/* 36.4px */
}


/*=============================
  Flex Grid
=============================*/

.flex_grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	justify-content: center;
}

.fg_item {
	width: fit-content;
}

.fg_link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.fg_link:hover {
	transform: scale(1.05);
}

.socmed_title {
	text-transform: uppercase;

}

.social_media_links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--gap);
	max-width: 680px;
	margin-inline: auto;
}

.social_media_links a {
	display: flex;
	height: 56px;
}

.social_media_links a svg {
	height: 56px;
	width: auto;
}

.social_media_links a:hover {
	color: var(--pink);
	transition: var(--transition);
}

.social_media_links a:hover svg {
	transform: scale(1.1);
	transition: var(--transition);
}

/*=============================
  Quotes
=============================*/

.quotes {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap);
	max-width: 960px;
	margin-inline: auto;
	padding-top: 36px;
}

@container (min-width: 768px) {
	.quotes {
		grid-template-columns: 1fr 1fr;
	}
}

blockquote {
	border: 0;
	margin: 0;
	padding: 36px 24px 24px 24px;
	background-color: var(--dark);
	color: var(--pale);
	border-radius: 32px;
	transition: var(--transition);
	padding-top: 36px;
	position: relative;
	display: flex;
	flex: 1;
	width: 100%;
	font-family: 'Finger Paint';
	font-style: normal;
	font-weight: 400;
	font-size: 20px;
	margin-top: 36px;
}

blockquote::before {
	content: '';
	position: absolute;
	left: calc(50% - 36px);
	top: -36px;
	width: 72px;
	height: 72px;
	background-image: url('/site/assets/images/quotes.svg');
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--dark);
	border-radius: 50%;
}

.quote_content {
	width: 100%;
	text-align: center;
}

.quote_attribution {
	text-align: right;
}

/*=============================
  	Books
=============================*/

.books {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap);
	max-width: 960px;
	margin-inline: auto;
}

@container (min-width: 768px) {
	.books {
		grid-template-columns: 1fr 1fr;
	}
}

.book_card {
	border: 0;
	margin: 0;
	padding: 0 24px 24px 24px;
	background-color: var(--dark);
	color: var(--pale);
	border-radius: 32px;
	display: flex;
	flex-direction: column;
	gap: var(--gap);
	width: 100%;
	font-style: normal;
	font-weight: 400;
	font-size: 20px;
	margin-top: 36px;
}

.book_card_icon_container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: -38px;
}

.book_card_icon {
	width: 72px;
	height: 72px;
	background-color: #D6572C;
	border: 8px solid var(--dark);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.bci_b1{
	background-color: #D6572C;
}

.bci_b2{
	background-color: hsla(174, 74%, 41%, 1);
}

.bci_b3{
	background-color: hsla(344, 59%, 52%, 1);
}

.bci_b4{
	background-color: hsla(231, 35%, 56%, 1);
}



.book_card_icon svg {
	width: 32px;
	height: 32px;
}


.book_title_and_strap {
	display: flex;
	flex-direction: column;
	gap: var(--gap-small);
}

.contented h2.book_title {
	padding: 0;
	border: 0;
	margin: 0;
}

.book_strap {
	color: var(--buff, #FFF3E5);
	text-align: center;

	text-wrap: balance;
	font-size: 24px;
	line-height: 100%;

}

.book_authors {
	color: var(--awards, #FA9F27);
	font-size: 32px;
	line-height: 100%;
	text-wrap: balance;
}

.book_link_container{
	margin-top: auto;
}

.book_link {
	display: flex;
	padding: 16px 32px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 24px;
	border: 3px solid var(--buff, #FFF3E5);
	background: var(--dark, #273331);
	color: var(--buff, #FFF3E5);
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 100%;
	width: fit-content;
	margin-inline: auto;
	text-decoration: none;
}

.book_link:hover{
	background-color: var(--theme);
	color: var(--dark);
}