/* Reusable but site specific styles */

.site_logo_link{
	color: var(--theme);
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;

	img{
		width:80px;
		height: auto;
	}

	.logotype{
		font-size: 19px;
		max-width: 14ch;
		text-transform: uppercase;
		font-weight: 500;
		line-height: 20px;
	}
}

.t_home .logotype{
	display: none;
}

.site_logo_link:hover{
	color: var(--accent);
}

.strap{
	font-weight: var(--strong);
	font-size: var(--step-0);
	line-height: 1.1;
	max-width: 42ch;
	margin-inline: auto;
}

.i {
	position: relative;
	line-height: 1;
	display: inline-flex;
  }
  
  .i::after {
	content: " ";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	background-color: var(--theme);
	border-radius: 50%;
	top: 0;
	left: 50%;
	transform: translateX(-2px);
}


.footer_grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: calc(var(--gap) * 2);
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 40px;
}


.footer_logo{
	color:white;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--gap-small);
}

.footer_logo svg{
	max-width: 120px;
	height: auto;
}

@media (min-width: 768px) {
	.footer_grid {
		grid-template-columns: 180px 1fr;
	}

	.footer_logo svg{
		max-width: 180px;
		height: auto;
	}
}

.footer_corp,
.footer_partners{
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-small);
	width: 100%;
}

.socmed_title{
	color:white;
}

.social_media_links{
	display: flex;
	gap: var(--gap);
	flex-wrap: wrap;
}

.social_media_links a{
	color:white;
}

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

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

.credits{
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 16px;
}

.separator{
	display: none;
}

@media (min-width: 768px) {
	.credits{
		flex-direction: row;
	}

	.separator{
		display: revert;
	}
}

.credits a{
	color: white;
}

.credits a:hover{
	color: var(--theme);
}

.credits a::after{
	display: none;
}


/** expando blocks */

.expando_group{
	display: flex;
	flex-direction: column;
	gap: var(--gap-small);
	width: 100%;
	max-width: 64ch;
	margin-inline: auto;
}

.eg_item details{
	border: 4px solid var(--theme);
	border-radius: 8px;
	width: 100%;
}

.eg_item details summary{
	color:white;
	background-color: var(--theme);
	padding: 8px 16px;
	cursor: pointer;
	transition: var(--transition);
	display: grid;
	grid-template-columns: 1fr 28px;
	gap:var(--gap-small);
	align-items: center;
	line-height: 1.1;
}

.eg_item details[open] summary .eg_item_icon{
	transform: rotate(180deg);
	transition: var(--transition);
}

.eg_item details summary::marker{
	display: none;
}

.eg_item details:hover{
	transition: var(--transition);
	border-color: var(--dark);

	summary{
		background-color: var(--dark);
		transition: var(--transition);
	}

}

.eg_item details[open] summary{
	border-color: var(--accent);
}

.summary_content{
	padding:1rem;
	font-size: var(--step--1);
}


/** cards */

.card_grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap);
	max-width: 1440px;
}

@container (min-width: 690px) {

	.card_grid {
		grid-template-columns: 1fr 1fr;
	}
}

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

.card {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--Cards-Layout-Large-Card-gap, 40px) var(--Cards-Layout-Small-Card-gap, 8px);
	color: var(--neutral-grey-50, #222529);
	padding: var(--Cards-Layout-Small-Card-padding, 24px);
	min-width: 260px;
	max-width: 460px;
	border-radius: 6px;
	border: 4px solid var(--theme);
	background: var(--neutral-white, #FFF);

	/* card-shadow */
	box-shadow: var(--Cards-Shadow-x-position, 0) var(--Cards-Shadow-y-position, 0) var(--Cards-Shadow-blur, 32px) var(--Cards-Shadow-spread, 0) rgba(0, 0, 0, 0.25);
}

.card_link {
	text-decoration: none;
}

.card_link:hover,
.card_link:focus,
.card_link:active {
	background-color: var(--theme);
	color: var(--white);
}

.card_title {
	/* small-card-title */
	font-size: var(--step-1);
	font-style: normal;
	font-weight: var(--strong);
	line-height: 1.1;
	/* 133.333% */
}

.card_summary {
	font-size: var(--step--1);
	line-height: 1.1;
}

.card_meta_row{
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	line-height: 1.1;
}

.card_image img {
	width: 100%;
}

.page_meta{
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: var(--step--1);
	line-height: 1.1;
}

.page_meta_row{
	display: flex;
	align-items: center;
	gap: 4px;
	line-height: 1.1;
}



/** only sticky if we have enough height 
I think we might need to double check in js 
*/
@media(min-height: 768px) {
	.sticky {
		position: sticky;
		top: calc(var(--header-height) + 24px);
	}
}

/** downloads */

.downloads{
	 display: flex;
	 flex-direction: column;
	 gap: var(--gap);

	 .download{
		display: grid;
		grid-template-columns: 100px 1fr;
		gap: var(--gap);
		border-bottom: 1px solid var(--theme);
		padding-bottom: var(--gap);

		.download_image{

				width: 100px;
				height: auto;
				min-height: 100px;
				display: flex;
				align-items: center;
				justify-content: center;
				background-color: #eee;

				svg{
					width: 64px;
					height: 64px;
					object-fit: cover;
					color: var(--theme);
				}
		}

		.download_meta{
			display: flex;
			flex-direction: column;
			gap: 8px;
			max-width: 42ch;
		}

		.download_name{
			font-size: var(--step-1);
			font-weight: var(--strong);
			line-height: 1.1;
		}
		.download_summary{
			font-size: var(--step--1);
			line-height: 1.25;
		}

		.download_files{
			display: flex;
			flex-direction: column;
			gap: 8px;
			justify-content: flex-end;
			text-align: right;

			.download_file{
				display: flex;
				align-items: center;
				justify-content: flex-end;
				gap: 8px;
				text-decoration: none;
				font-size: var(--step--1);
			}
			.download_file_size{
				font-size:13px;
			}
		}
	 }
}

/** team */

.team{
	display: flex;
	flex-direction: column;
	gap: var(--gap);

	.team_member{
	   display: grid;
	   grid-template-columns: 100px 1fr;
	   gap: var(--gap);
	   border-bottom: 1px solid var(--theme);
	   padding-bottom: var(--gap);

	   .team_image{
			   width: 100px;
			   height: 100px;
			   border-radius: 50%;
			   overflow: hidden;
			   display: flex;
			   align-items: center;
			   justify-content: center;
			   background-color: #eee;

			   svg{
				   width: 64px;
				   height: 64px;
				   object-fit: cover;
				   color: var(--theme);
			   }
	   }

	   .team_meta{
		   display: flex;
		   flex-direction: column;
		   gap: 8px;
	   }

	   .team_member_name{
		   font-size: var(--step-1);
		   font-weight: var(--strong);
		   line-height: 1.1;
	   }
	   .team_member_summary{
		   font-size: var(--step--1);
		   line-height: 1.25;
	   }
	}
}