/** 
 * FF DIN - Licensed from fontfont.com 3 June 2014
 * This CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web Fonts: http://www.fontshop.com
 */
@font-face{font-family:'DINWeb';font-weight:400;font-style:normal;src:url("/theme/webfonts/DINWeb.woff") format("woff");}
@font-face{font-family:'DINWeb';font-weight:400;font-style:italic;src:url("/theme/webfonts/DINWeb-Ita.woff") format("woff");}
@font-face{font-family:'DINWeb';font-weight:500;font-style:normal;src:url("/theme/webfonts/DINWeb-Medium.woff") format("woff");}
@font-face{font-family:'DINWeb';font-weight:500;font-style:italic;src:url("/theme/webfonts/DINWeb-MediumIta.woff") format("woff");}
@font-face{font-family:'DINWeb';font-weight:700;font-style:normal;src:url("/theme/webfonts/DINWeb-Bold.woff") format("woff");}
@font-face{font-family:'DINWeb';font-weight:700;font-style:italic;src:url("/theme/webfonts/DINWeb-BoldIta.woff") format("woff");}


html
{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	scroll-behavior:smooth;
	scroll-padding-top:1.5rem;
}

*,*:before,*:after
{
	-webkit-box-sizing:inherit;
	box-sizing:inherit;
}

body,html
{
	background-color:white;
	color:black;
	font-family:"DINWeb",Arial,sans-serif;
	font-size:16px;
	line-height:1.6;
	margin:0;
	padding:0;
	-webkit-text-size-adjust:none;
}

@media screen and (min-width:400px)
{
	body,html
	{
		font-size:calc(16px + 4 * ((100vw - 400px) / 1220));
	}
}

@media screen and (min-width:1620px)
{
	body,html
	{
		font-size:20px;
	}
}

@media print
{
	body,html
	{
		background-color:white;
		color:black;
		font-size:13px;
	}
}

address,article,aside,figure,figcaption,footer,header,main,menu,nav,section
{
	display:block;
	font-size:1.0em;
	font-style:normal;
	font-weight:400;
	margin:0;
	padding:0;
	text-align:left;
}

div:focus
{
	outline:none;
}

a:focus
{
	outline-color:inherit;
	outline-style:dotted;
	outline-width:2px;
}

img,embed,object,audio,video,svg
{
	display:block;
	max-width:100%;
	width:100%;
}

a img
{
	border:none;
}

@media screen
{
	a{transition:background-color 0.3s,color 0.3s,opacity 0.3s,border 0.3s,-webkit-text-decoration-color 0.3s,text-decoration-color 0.3s;}
}

a,a:link,a:visited
{
	color:currentColor;
	text-decoration:underline;	
	-webkit-text-decoration-color:rgba(255,255,255,0.33);
	text-decoration-color:rgba(255,255,255,0.33);
	-webkit-text-decoration-skip:ink;
	text-decoration-skip:ink;
	text-underline-offset:0.15em;
	text-decoration-thickness:1px;
}

a:focus,a:hover,a:active
{
	color:currentColor;
	text-decoration:underline;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
	text-underline-offset:0.15em;
	text-decoration-thickness:1px;
}

@media print,screen and (min-width:960px)
{
	a,a:link,a:visited
	{
	-webkit-text-decoration-color:rgba(0,0,0,0.33);
	text-decoration-color:rgba(0,0,0,0.33);
	}
	
	a:focus,a:hover,a:active
	{
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
	}
}


@media print
{
	a,a:link,a:visited,
	a:focus,a:hover,a:active
	{
		color:black;
	}
}

.sitename
{
	color:currentColor;
	font-size:2.5rem;
	font-weight:400;
	grid-area:c;
	letter-spacing:0;
	line-height:1;
	margin:0 0 0 -0.07em;
	padding:0;
	position:relative;
	align-self:end;
}

@media screen
{
	.sitename
	{
		text-shadow:rgba(0,0,0,0.5) 0 0 0.3em;
	}
}

@media screen and (min-width:360px)
{
	.sitename
	{
		font-size:3rem;
	}
}

@media screen and (min-width:400px)
{
	.sitename
	{
		font-size:calc(48px + 52 * ((100vw - 400px) / 1220));
	}
}

@media screen and (min-width:1620px)
{
	.sitename
	{
		font-size:6rem;
	}
}

@media print
{
	.sitename
	{
		max-width:100%;
	}
}

.sitename time
{
	line-height:1.2;
	font-size:1.5rem;
	display:block;
	padding:1rem 0.25rem 0;
}

.sitename a
{
	font-weight:700;
}

.sitename a,.sitename a:link,.sitename a:visited
{
	color:currentColor;
	text-decoration:none;	
	-webkit-text-decoration-color:rgba(255,255,255,0);
	text-decoration-color:rgba(255,255,255,0);
}

.sitename a:focus,.sitename a:hover,.sitename a:active
{
	color:currentColor;
	text-decoration:none;	
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}

.statement
{
	background-color:rgb(126,0,57);
	color:white;
	font-size:2rem;
	line-height:1.1;
	position:relative;
}

@media screen and (min-width:400px)
{
	.statement
	{
		font-size:calc(32px + 48 * ((100vw - 400px) / 1220));
	}
}

@media screen and (min-width:1620px)
{
	.statement
	{
		font-size:4rem;
	}
}

@media print
{
	.statement
	{
		background-color:transparent;
		color:rgb(126,0,57);
	}
}

.statement .content
{
	grid-row:1/2;
	grid-column:2/-2;
	justify-self:start;
	max-width:51rem;
	padding:5rem 0;
}

@media print
{
	.statement .content
	{
		max-width:100%;
		padding:0 0 3.25rem;
	}
}

.statement p
{
	padding:0;
}

.statement p strong,.statement p b
{
	font-weight:500;
}

h1
{
	color:white;
	font-size:2.5rem;
	font-weight:500;
	line-height:1.0;
	margin:0;
	padding:0 0 1rem;
}

.page-home h1
{
	text-transform:uppercase;
	font-size:1.4rem;
	font-weight:500;
	letter-spacing:0.02em;
}

@media screen and (min-width:960px)
{
	h1
	{
		font-size:4rem;
	}
}

@media print,screen and (min-width:960px)
{
	h1
	{
		color:rgb(126,0,57);
	}
	
	.page-home h1
	{
		color:rgb(138,123,113);
	}
}

h2
{
	background-color:rgba(255,255,255,0.1);
	color:white;
	display:inline-block;
	font-size:2rem;
	font-weight:500;
	line-height:1.2;
	margin:3.5rem 0 1.7rem -1.2rem;
	padding:0.6rem 1.2rem 0.5rem;
	text-decoration:none;
}

@media screen and (min-width:960px)
{
	h2
	{
		background-color:rgb(126,0,57);
	}
}

@media print
{
	h2
	{
		color:rgb(126,0,57);
		background-color:white;
		border:2px solid rgb(126,0,57);
		margin-left:0;
	}
}

h3
{
	break-after:avoid !important;
	font-size:1rem;
	font-weight:700;
	margin:0;
	padding:0.2rem 0 0.2em;
}

.page-home h3
{
	font-size:1.2rem;
}

h3+h3
{
	margin-top:1.2em;
}

h3>em
{
	background:linear-gradient(180deg, transparent 0%, transparent 40%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.15) 100%);
	font-style:normal;
	padding:0 2px;
}

@media print,screen and (min-width:960px)
{
	h3>em
	{
		color:rgb(126,0,57);
		padding:0;
	}
}

h3+p,h3+ul
{
	break-before:avoid !important;
}

h4
{
	font-size:1em;
	font-weight:500;
	margin:0;
	padding:0;
}

p
{
	margin:0;
	padding:0 0 1.2em;
}

figure
{
	-webkit-column-break-inside:avoid;
	page-break-inside:avoid;
	break-inside:avoid;
	margin:0;
	padding:0;
	position:relative;
}

figure img,figure svg
{
	display:block;
	width:100%;
}

ul
{
	list-style-type:none;
	margin:0;
	padding:0 0 1.2em;
}

ul li
{
	padding:0;
	position:relative;
}

ul li::before
{
	content:'';
	display:none;
}

hr
{
	border:none;
	border-top:1px solid #ccc;
	margin:0.5rem 0 1.5rem;
	padding:0;
}

.subdued
{
	color:rgba(255,255,255,0.5);
}

@media print,screen and (min-width:960px)
{
	.subdued
	{
		color:rgba(0,0,0,0.5);
	}
}

.lead
{
	color:currentColor;
	font-size:1.5rem;
	font-weight:400;
	justify-self:start;
	line-height:1.4;
	max-width:47rem;
	padding:1rem 0;
}

@media print
{
	.lead
	{
		max-width:100%;
	}
}

.lead strong,.lead b
{
	font-weight:500;
}

.lead p
{
	padding-bottom:1em;
}

.lead p:last-child
{
	padding:0;
}

.page
{
	overflow:hidden;
	margin:0;
	padding:0;
}

.panel
{
	display:grid;
	grid-row-gap:0;
	row-gap:0;
	grid-column-gap:0;
	column-gap:0;
	grid-template-columns:20px repeat(4,1fr) 20px;
	padding-left:0;
	padding-right:0;
	position:relative;
}

@media screen and (min-width:400px)
{
	.panel
	{
		grid-template-columns:5vw repeat(4,1fr) 5vw;
	}
}

@media screen and (min-width:960px)
{
	.panel
	{
		column-gap:20px;
		grid-column-gap:20px;
		grid-template-columns:repeat(14, 1fr);
	}
}

@media screen and (min-width:1620px)
{
	.panel
	{
		grid-template-columns:1fr repeat(12, 100px) 1fr;
	}
}

@media print
{
	.panel
	{
		display:block;
		padding-left:0;
		padding-right:0;
	}
}

.panel-plain .content
{
	justify-self:start;
	margin:1.5rem 0 0;
	max-width:50rem;
	z-index:10;
}

@media screen and (min-width:960px)
{
	.panel-plain .content
	{
		margin-top:1rem;
	}
}

@media print
{
	.panel-plain .content
	{
		max-width:100%;
	}
}

.panel .return 
{
	padding:3.5rem 0 0;
}

@media print
{
	.panel .return
	{
		display:none;
	}
}

a.button,a.button:link,a.button:visited
{
	background-color:rgba(255,255,255,0.1);
	color:white;
	display:inline-block;
	font-weight:500;
	padding:0.4rem 0.8rem;
	text-decoration:none;
}

a.button:focus,a.button:hover,a.button:active
{
	background-color:black;
}

@media screen and (min-width:960px)
{
	a.button,a.button:link,a.button:visited
	{
		background-color:rgb(126,0,57);
	}
	
	a.button:focus,a.button:hover,a.button:active
	{
		background-color:rgb(94,0,35);
	}
}

.panel blockquote
{
	grid-area:quot;
}

.page-header
{
	color:white;
	margin:0;
	padding:0;
	width:100%;
}

@media print
{
	.page-header
	{
		color:black;
		height:auto !important;
	}
}

@media screen
{
	.page-header .panel
	{
		grid-row-gap:5rem;
		row-gap:5rem;
		grid-template-areas:". l l m m ."
							". c c c c ."
							". . . . . .";
		grid-template-rows:min-content 1fr 0px;
		min-height:30rem;
	}
	
	.page-home .page-header .panel
	{
		min-height:100vh;
	}
}
	
@media screen and (min-width:960px)
{
	.page-header .panel
	{
		grid-template-areas:". l l l l l l l l l m m m ."
							". c c c c c c c c c c c c ."
							". . . . . . . . . . . . . .";
	}
	
	.page-home .page-header .panel
	{
		grid-template-areas:". l l l l l l l l l m m m ."
							". c c c c c c c c c c c c ."
							". . . . . . . . . . . . . .";
	}
}

@media print
{
	.page-header .panel
	{
		height:auto;
		min-height:0;
	}
}

figure.cover
{
	background:rgba(0,0,0,0.2) no-repeat scroll 50% 50%;
	background-size:cover;
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}

@media print
{
	figure.cover
	{
		display:none;
	}
}

figure.cover img
{
	height:100%;
	left:0;
	mix-blend-mode:multiply;
	object-fit:cover;
	position:absolute;
	top:0;
	width:100%;
}
		
figure.cover::after
{
	background:linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 50%);
	content:'';
	display:block;
	height:100%;
	left:0;
	top:0;
	width:100%;
	position:absolute;
}

.logo
{
	color:currentColor;
	grid-area:l;
	line-height:1;
	margin:0;
	padding:0;
	position:relative;
	text-transform:uppercase;
	z-index:1;
}

@media print
{
	.logo
	{
		padding-bottom:3.25rem;
	}
}

.logo a
{
	display:block;
	max-width:12.5rem;
	width:100%;
}

.logo a,.logo a:link,.logo a:visited,.logo a:focus,.logo a:hover,.logo a:active
{
	color:currentColor;
	text-decoration:none;
}

.logo svg
{
	height:auto;
	margin:0;
	width:100%;
}

@media print
{
	.logo svg .words path
	{
		fill:black;
	}
}

.menu
{
	font-weight:500;
	font-size:1rem;
	grid-area:m;
	justify-self:end;
	line-height:1;
	margin:2.5rem 0 0;
	position:relative;
}

@media print
{
	.menu
	{
		display:none;
	}
}

.menu a,.menu a:link,.menu a:visited
{
	color:white;
	text-decoration:none;
}

.menu a:focus,.menu a:hover,.menu a:active
{
	color:white;
	text-decoration:underline;
}

main
{
	background-color:rgb(34,34,34);
	color:white;
	margin:0 auto;
}

@media print,screen and (min-width:960px)
{
	main
	{
		background-color:white;
		color:black;
	}
}

.page-footer
{
	background:url(footer_1200.jpg) no-repeat scroll 50% 70%;	
	background-size:cover;
	break-inside:avoid;
	color:white;
	font-size:0.75rem;
	line-height:1.6;
	margin:0 auto;
	padding-bottom:2.5rem;
	position:relative;
}

@media screen and (min-width:1200px), screen and (min-width:600px) and (-webkit-min-device-pixel-ratio:1.25), screen and (min-width:600px) and (min-resolution:120dpi)
{
	.page-footer
	{
		background:url(footer_1800.jpg) no-repeat scroll 50% 70%;	
		background-size:cover;
	}
}

@media screen and (min-width:1800px), screen and (min-width:900px) and (-webkit-min-device-pixel-ratio:1.25), screen and (min-width:900px) and (min-resolution:120dpi)
{
	.page-footer
	{
		background:url(footer_2400.jpg) no-repeat scroll 50% 70%;	
		background-size:cover;
	}
}

@media screen and (min-width:2400px), screen and (min-width:1200px) and (-webkit-min-device-pixel-ratio:1.25), screen and (min-width:1200px) and (min-resolution:120dpi)
{
	.page-footer
	{
		background:url(footer_3000.jpg) no-repeat scroll 50% 70%;	
		background-size:cover;
	}
}

@media screen and (min-width:3000px), screen and (min-width:1500px) and (-webkit-min-device-pixel-ratio:1.25), screen and (min-width:1500px) and (min-resolution:120dpi)
{
	.page-footer
	{
		background:url(footer_3600.jpg) no-repeat scroll 50% 70%;	
		background-size:cover;
	}
}

.page-footer
{
	grid-template-areas:". contact contact contact crest ."
						". e e e e ."
						". f f f f .";
}

@media screen and (min-width:960px)
{
	.page-footer
	{
		grid-template-areas:". contact contact contact contact contact contact crest crest crest crest crest crest ."
							". e e e e f f f f f f f f .";
		grid-template-rows:min-content  min-content;
	}
}

@media print
{
	.page-footer
	{
		background-color:transparent;
		background-image:none;
		color:black;
		padding:0;
		border-top:1px solid black;
	}
}

.contact
{
	align-self:end;
	font-size:0.9rem;
	grid-area:contact;
	padding:3.3rem 0 0;
}

@media print
{
	.contact
	{
		padding-top:2rem;
	}
}

.contact p
{
	padding:0 0 0.666667em;
}

.crest
{
	float:right;
	margin:0 0 0 20px;
	padding:3.3rem 0 0;
}

@media screen
{
	.crest
	{
		align-self:start;
		float:none;
		grid-area:crest;
		justify-self:end;
	}
}
	
@media screen and (min-width:960px)
{
	.crest
	{	
		margin:0;
	}
}

.crest a,.crest svg
{
	display:block;
	height:auto;
	max-width:150px;
	width:100%;
}

@media screen and (min-width:960px)
{
	.crest a,.crest svg
	{
		height:240px;
		max-width:192px;
		width:192px;
	}
}

@media print
{
	.crest a,.crest svg
	{
		bottom:0;
		height:120px;
		position:absolute;
		right:0;
		width:96px;
	}
}

.crest path,.crest polygon
{
	fill:white;
}

@media print
{
	.crest path,.crest polygon
	{
		fill:black;
	}
}

.sitelinks
{
	clear:both;
	font-family:"roboto",Arial,sans-serif;
	list-style-type:none;
	margin:0;
	padding:3.3rem 0 1rem;
}

.sitelinks
{
	align-self:end;
	grid-area:e;
}

@media print
{
	.sitelinks
	{
		display:none;
	}
}

.siteinfo
{
	align-self:end;
	font-family:"roboto",Arial,sans-serif;
	grid-area:f;
	list-style-type:none;
	margin:0;
	padding:0 0 1rem;
}

@media screen and (min-width:960px)
{
	.siteinfo
	{
		justify-self:end;
	}
}

@media print
{
	.siteinfo
	{
		margin-right:116px;
		padding-bottom:0;
	}
}

.page-footer li
{
	display:inline;
	margin:0;
	padding:0 1em 0 0;
}

.page-footer li:before
{
	content:'';
	display:none;
}

.page-footer ul li:last-child
{
	padding-right:0;
}

@media screen and (min-width:960px) and (max-width:1260px)
{
	.page-footer li:first-child
	{
		display:block;
	}
}

@media print
{
	.page-footer li:first-child
	{
		display:block;
	}
}

.page-footer a,.page-footer a:link,.page-footer a:visited
{
	color:currentColor;
	text-decoration:none;
}

.page-footer a:focus,.page-footer a:hover,.page-footer a:active
{
	color:currentColor;
	text-decoration:underline;
}

.panel-plain
{
	padding-bottom:5rem;
	padding-top:5rem;
	background:transparent url(1847_declaration_of_trust.webp) no-repeat fixed left calc(50vw + 22rem) top 5rem;
	background-size:112.5rem;
}

.bg2 .panel-plain
{
	background:transparent url(lion_stamp_textured_flip.svg) no-repeat fixed left calc(50vw + 22rem) top 5rem;
			background-size:auto;
}

.bg3 .panel-plain
{
	
	background:transparent url(vivit_post_funera_virtus.svg) no-repeat fixed left calc(50vw + 22rem) top 5rem;
	background-size:auto;
}

@media screen
{
	.panel-plain h1,
	.panel-plain .lead,
	.panel-plain .content,
	.panel-plain .return
	{
		grid-column:2/-2;
	}
}

@media print
{
	.panel-plain
	{
		padding:0 0 3.25rem;
		background-image:none !important;
	}
}

