/*04_header.css*/

#wrapper_nav_banner
{
	position:sticky;
	top:0;
	z-index:1000;
	transition:box-shadow 0.25s ease;
}

#wrapper_nav_banner.maintxt_is_scrolled
{
	border-radius:10px;
	box-shadow:var(
		--04_header_box_shadow,
		0 0.4rem 1rem rgba(0,0,0,0.18),
		0 2rem 2rem -1rem var(--04_header_bgColor,white)
	);
}

#header_div_left,
#header_div_nav,
header,
#header_div_right
{
	box-sizing:border-box;
	height:var(--04_header_height,90px);
	font-family:var(--04_header_font_family);
}

#header_div_left,
#header_div_nav,
#header_div_right
{
	display:flex;
	align-items:center;
	justify-content:center;
}

header#header_banner
{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:var(--04_header_title_subtitle_gap,0.3rem);
	width:100%;
	min-width:0;
}

#div_banner_txt
{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:100%;
	min-width:0;
	height:100%;
	opacity:0;
	visibility:hidden;
	transition:opacity 1.2s ease;
}

#div_banner_txt.banner_ready
{
	opacity:1;
	visibility:visible;
}

#header_bannertitle_h1,
#header_bannertitle_hdy_h1
{
	width:100%;
	margin:0;
	font-size:var(--04_header_title_fontSize,2rem);
	letter-spacing:var(--04_header_title_letter_spacing);
	line-height:1.05;
	text-align:center;
	white-space:normal;
}

#header_subtitle_h2,
#header_subtitle_hdy_h2
{
	width:100%;
	margin:7px 0;
	font-weight:var(--04_header_subtitle_font_weight);
	font-style:var(--04_header_subtitle_font_style);
	letter-spacing:var(--04_header_subtitle_letter_spacing);
	line-height:1.2;
	text-align:center;
	white-space:normal;
}

#header_bannertitle_hdy_h1,
#header_subtitle_hdy_h2
{
	display:none;
}

@media (min-width:769px) and (max-width:1199px)
{
	#wrapper_nav_banner
	{
		grid-column:1 / -1;
		grid-template-columns:minmax(0,1fr);
		grid-template-areas:"header";
	}

	#header_banner
	{
		grid-column:1;
	}

	#header_div_left,
	#header_div_nav,
	#header_div_right
	{
		display:none;
	}
}

@media (max-width:768px)
{
	#wrapper_nav_banner
	{
		grid-column:1 / -1;
		grid-template-columns:minmax(0,1fr);
		grid-template-areas:"header";
	}

	header
	{
		grid-column:1 / -1;
	}

	#div_banner_txt
	{
		padding-top:10px;
	}

	#header_div_left,
	#header_div_nav,
	#header_div_right
	{
		display:none;
	}

	#header_bannertitle_h1,
	#header_subtitle_h2
	{
		display:none;
	}

	#header_bannertitle_hdy_h1,
	#header_subtitle_hdy_h2
	{
		display:block;
	}
}