html,body,ul,ol,li,h1,h2,h3,h4,h5,p {
    margin:0;
    padding:0;
}
html {
    font-size:16px;
    box-sizing: border-box;
    font-family:sans-serif;
    font-family: 'Red Hat Text', sans-serif;

    scroll-behavior: smooth;
    scroll-padding: 220px;
    
}
*, *:before, *:after {
    box-sizing: inherit;
}

.forbears {
    display:none;
}

/* end reset */


/* utility */

/* input:required {
    border-color: orange;
}
input:invalid, textarea:invalid {
    border-color:red;
}
input:required:valid, textarea:required:valid {
    border-color:green;
} */

#obit_main_content iframe {
    max-width:100%;
    margin-top:2rem;
    display:block;
    margin-left:auto;
    margin-right:auto;
    left:0;
    right:0;
}
.g-recaptcha iframe {
    margin-left:0;
    margin-right:0;
    display:inherit;
}

.gap-bottom {
    margin-top:0;
    margin-bottom:2rem;
}
.contain, main .single_blog_wrap  {
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:0 1rem;
    position:relative;
}
.flex33 {
    width:33%;
}
.flex66 {
    width:66%;
}
.flex {
    display:flex;
}
.grid {
    display:grid;
}
.fullheight {
    height:100vh;
}
.flex-center {
    align-items: center;
    justify-content: center;
}
.flex-left-center {
    align-items:center;
    justify-content: flex-start;
}
.flexcol {
    flex-direction: column;
}
/* end utililty */

/* typography and colors */

:root {
    --blue:#104c8b;
    --bgblue:#dae2ea;
	--lightblue:#51789d;
}


h1,h2,h3, h3 button {
    font-family:"Garamond ",serif;
    font-family: 'Unna', serif;
    color:var(--blue);
}

h1 { font-size:3.5rem; }
h2 { font-size:2.2rem; }
h3 { font-size:1.8rem; font-weight:normal; font-style:italic;}

main :is(h1,h2,h3,h4,h5) { margin-top: 1em; }

p, main ul li, .obit_text_wrap { line-height:1.7; }

/* end typography */

/* hero */

header.hero_wrap {
    height:100vh;
    background-size:cover;
    background-position:center top;
}

header.hero_wrap .hero_content {
    max-width:95ch;
}

header.hero_wrap .hero_content p {
    margin-top:2rem;
    text-shadow: 0 0 0px rgba(0,0,0,1); /* fake slight bold */
}

/* end hero */

header.shortheader_wrap {
    height:30vh;
    padding-top:12em;
    min-height:31em;
    background-size:cover;
    background-position:center top;
    background-attachment: fixed;
    
}
header.shortheader_wrap > div {
    transform:translateY(4em);
    justify-content:center;
    text-align:center;
}
header.shortheader_wrap p {
    max-width:40ch;
    font-weight:bold;
    line-height:1.1;
}

/* top nav */


#homelogo img {
    max-width:10rem;
    display:inline-block;
    max-height:7rem;
    object-fit: contain;
    object-position: left top;
}
#top_nav {
    position:fixed;
    top:0;
    width:100%;
    z-index:2;
    padding-top:2rem;
    padding-bottom:2rem;
	transition:all 0.4s ease;
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.6699054621848739) 81%, rgba(255,255,255,0) 100%);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.6699054621848739) 71%, rgba(255,255,255,0) 100%);
    

}
body:not(.home, .view_4, .view_10) #top_nav {
    background:white;
    box-shadow:0 0 1em rgba(0,0,0,0.5);
}
body:is(.home,.view_4, .view_10) #top_nav {
    padding-bottom:4rem;
}
body:is(.home,.view_4, .view_10) #top_nav.scrolled {
	background:white;
    box-shadow:0 0 1em rgba(0,0,0,0.5);
    padding-bottom:2rem;
}

#top_nav a, .btn {
    text-decoration:none;
    color:var(--blue);
    font-weight:800;
}
main p a, main ul li a {
    color: var(--blue);
}

#top_menu_wrap {
    align-items: flex-end;
    justify-content: space-between;
}

#top_nav .tree_wrap > ul {
    display:flex;
    list-style:none;
}

#top_nav .tree_wrap a {
    font-size:1.2rem;
    padding:1em;
    display:inline-block;
}
#top_nav .tree_wrap > ul > li:last-child a {
    padding-right:0;
}

.btn.holiday {
    display:none;
}

#top_nav .tree_wrap > ul > li {
    margin-left:3em;
    position:relative;
    text-align: center;
}
#top_nav .tree_wrap ul li {
	position:relative;
}

#top_nav .tree_wrap > ul ul {
    list-style:none;
    display:none;
    position:absolute;
    /* display:block; */
    opacity:0;
    pointer-events: none;
    transition:opacity 0.3s ease;
    background:white;
    box-shadow:0 0 8px rgba(0,0,0,0.5);
    width:100%;
	width:15rem;
    height:0;
}
/* handle top level hover + aria expanded a */
/* note - ul has to be immediate sibling after a */
#top_nav .tree_wrap ul > li:hover > ul, 
#top_nav .tree_wrap ul > li > a[aria-expanded="true"] + ul {
    opacity:1;
    pointer-events:all;
    height:auto;
    display:block;
}
#top_nav .tree_wrap ul > li > ul li a {
    display:inline-block;
    padding:1rem;
}

#top_nav .tree_wrap ul > li > ul ul {
    top:0;
	right: 15rem;
	z-index:9;
}

#top_nav .tree_wrap a {
    transition:color 0.3s ease;
}
#top_nav .tree_wrap a:hover {
    color:black;
}

#top_nav .tree_wrap ul > li > ul li:hover {
    background:#eee;
}
#top_nav .tree_wrap ul li.menu_heading {
	/* padding:1rem; */
	font-size:1.2rem;
	color:var(--blue);
	font-weight:800;
}
#top_nav .tree_wrap ul li.menu_heading > span {
    padding:1rem;
    display:inline-block;
}
#top_nav .tree_wrap ul li.menu_heading > span:hover {
    cursor:pointer;
}

#top_buttons {
    position:absolute;
    top:0.5rem;
    right:1rem;
}
#top_buttons ul {
    display:flex;
    list-style:none;
}
#top_buttons ul li {
    margin-left:2rem;
}
#top_buttons ul li a, .btn {
    font-size:0.8rem;
}

/* end top nav */

/* Mobile Menu */
#mobile_menu {
    width:30rem;
    max-width:100vw;
    background: var(--blue);
    padding:2rem;
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    transform:translateX(30rem);
    transition:all 0.3s ease-in-out;
    z-index:999;
    opacity:0;
    overflow-y: scroll;
}
#mobile_menu.active {
    transform:translateX(0vh);
    opacity:1;
}

#menu_mobile-menu ul {
    list-style:none;
    margin:0;
}
#menu_mobile-menu > ul ul {
    max-height:0vh;
    overflow:hidden;
    transition:max-height 0.3s ease-in-out;
}
#menu_mobile-menu > ul li.active ul {
    max-height:100vh;
}
#menu_mobile-menu ul li {
    padding:0.6em 0em;
    font-size:1.5rem;
    position:relative;
}
#menu_mobile-menu ul li a, #menu_mobile-menu li.menu_heading .title_only {
    position:relative;
    padding:1em;
}
.open_mobile_menu {
    border:none;
    background:none;
}
.open_mobile_menu:focus {
    outline:none;
}
.open_mobile_menu img {
    width:2.5rem;
    height:2.5rem;
    object-fit:contain;
}

#menu_mobile-menu a, #menu_mobile-menu li.menu_heading .title_only {
    font-weight:900;
    text-decoration:none;
}

#menu_mobile-menu > ul > li > a, #menu_mobile-menu li.menu_heading .title_only {
    color:white;
}
#menu_mobile-menu > ul > li ul {
    padding-left:0rem;
    padding-right:0rem;
    transition:padding 0.3s ease-in-out;
}
#menu_mobile-menu > ul > li.active ul {
    padding-left:2rem;
    padding-top:2rem;
}
#menu_mobile-menu > ul > li ul >  li a {
    color: white;
    font-size:70%;
}
#menu_mobile-menu li.parent:hover {
    cursor:pointer;
}
#menu_mobile-menu li.parent > a::after,  #menu_mobile-menu > ul > li.menu_heading > span.title_only::after {
    content:"»";
    font-size:2em;
    padding-left:1rem;
    font-weight:normal;
    transform-origin: center;
    transform: translateX(0.5rem) translateY(-1.3rem) rotate(0deg) ;
    position:absolute;
    transition:transform 0.3s ease-in-out;
}
#menu_mobile-menu li.active ul {
    height:auto;
}
#menu_mobile-menu li.parent.active > span.title_only::after {
    transform: translateX(0.5rem) translateY(-1.3rem) rotate(90deg) ;
}
.open_mobile_menu {
    display: none;
}
button.open_mobile_menu {
    position: absolute;
    top: 4rem;
    right: 3rem;
}

.logo_and_close img {
    max-width: 6rem;
}

.logo_and_close {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#close_menu_button_image {
    width: 3rem;
    height: 3rem;
    object-fit: contain;
}

button.close_mobile_menu {
    background: none;
}

/* End Mobile Menu */

a.btn, .dontcrashprinting {
    border:1px solid var(--blue);
    padding:0.5em 1.5em;
    display:inline-block;
    text-transform: uppercase;
    transition:all 0.3s ease;
}
a.btn:hover, .dontcrashprinting:hover {
    background:var(--blue);
    color:white !important;
}
.dontcrashprinting {
    font-weight:bold;
    text-decoration:none;
    color:var(--blue);
}

/* homepage grid */

.teaser {
   
    font-size:1rem;
    background-blend-mode: multiply;
    /* background:none !important; */
    position:relative;
    overflow:hidden;
}

.teasers_wrap {
    /* max-width: 1200px; */
    width: 100%;
}

img.bgimage {
    object-fit: contain;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    object-position: center;
    /* opacity: 0.3; */
    /* z-index: -1; */
    /* margin: 1rem; */
    filter:saturate(0.5) brightness(0.8) blur(5px) opacity(0.7);
    transform:scale(1.1);
}

.teaser_content_wrap {
    margin:2rem;
    z-index:1;
    position:relative;
}

.teaser.item1 { grid-area: item1; background-color: #693a56;}
.teaser.item2 { grid-area: item2; background-color: #2f6097;}
.teaser.item3 { grid-area: item3; background-color: #6b8b9c;}
.teaser.item4 { grid-area: item4; background-color: #a1a873;}
.teaser.item5 { grid-area: item5; background-color: #285c80;}
.teaser.item6 { grid-area: item6; background-color: #9ea790;}
.teaser.item7 { grid-area: item7; background-color: #7a445a;}

 #homepage-teasers {
  grid-template-areas:
  	'item2 item2 item1 item1 item1 item1'
    'item2 item2 item3 item3 item4 item4'
    'item5 item5 item5 item5 item4 item4'
    'item6 item6 item7 item7 item7 item7';
  grid-gap: 1em;
  padding: 1em;
  color: white;
}

.teaser h1 {
    color: white;
    font-size: 2.5em;
}

.teaser a.btn {
    border: 1px solid white;
    margin-top: 2rem;
    color: white;
    text-decoration: none;
}

.teaser a.btn:hover {
    border:1px solid var(--blue);
}

section#obits_teaser {
    margin: 3rem auto;
}

.obits_wrap, #obit_search_results_flex {
    display:flex;
    gap:2rem;
    flex-wrap:wrap;
    justify-content: center;
}
.obit_wrap {
    width:20%;
    padding:1em;
    background:white;
}
#obit_search_results_flex {
    margin:3rem 0;
}
#obit_search_results_flex .obit_wrap {
    width:14%;
}
.obit_wrap * {
    text-align:center;
}
.obit_wrap p {
    margin-top:0.5em;
}
.obit_wrap {
    transition:0.3s box-shadow  ease, 0.3s transform  ease;
}
.obit_wrap:hover {
    transform:scale(1.1);
    box-shadow:0 1em 1em #00000055;
}
.img_wrap {
    width:100%;
    height:0;
    overflow:hidden;
    padding-bottom:130%;
    position:relative;
}
.force_aspect img {
    width:100%;
    height:100%;
    position:absolute;
    object-fit:cover;
    object-position: center;
    top:0;
    left:0;
}
.obit_wrap {
    text-decoration:none;
    color:black;
}
#obit_main_content h2 {
    margin-top:0;
    margin-bottom:1em;
}
h4.obit_teaser_name {
    font-weight: 800;
    line-height: 1.1;
    color:black;
    margin-top:1em;
}
form.flex33 {
    padding:2rem;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
	text-align: center;
}
form.flex33 p {
	margin:2rem;
}

form h1 {
	line-height:1em;
}

.input_with_button {
	margin-bottom:2rem;
	border:1px solid var(--blue);
	display:flex;
}
.input_with_button input {
	border:none;
	padding:1em;
}
.input_with_button input::placeholder {
	font-style:italic;
	color:var(--lightblue);
}
.input_with_button button {
	padding:1em;
	color:white;
	background:var(--blue);
	border:none;
	text-transform:uppercase;
	font-size:0.8rem;
	font-weight:800;
}

.obit_logo_fixed {
    position:absolute;
    top:0;
    right:20%;
}
.obit_logo_fixed img {
    max-width:130px;
    background-color:white;
    padding:1em;
}

#obituaries_search_main_form_wrap {
    background:#dee2de;
    padding:3rem 0;
}
#obituaries_search_main_form_wrap form {
    gap:2rem;
}
#obituaries_search_main_form_wrap > .contain.flex {
    justify-content: center;
}

#obituaries_search_main_form_wrap :is(select,input) {
    padding:0.5rem 1rem;
    border:1px solid var(--blue);
    align-self: stretch;
}
#obituaries_search_main_form_wrap :is(select,input)::placeholder {
    color:var(--blue);
    font-style: italic;
}
#obituaries_search_main_form_wrap select {
    color:var(--blue);
    font-style: italic;
}
#obituaries_search_main_form_wrap select:hover {
    cursor:pointer;
}
#obituaries_search_main_form_wrap button {
    color:white;
    background:var(--blue);
    padding:0.5rem;
    text-transform: uppercase;
    align-self: stretch;
    font-size:0.6rem;
    font-weight:bold;
}
#obituaries_search_main_form_wrap .field {
    display:flex;
    align-items: center;
}

#obituaries_search_main_form_wrap select {
    appearance: none;
    position:relative;
}
#obituaries_search_main_form_wrap select::-ms-expand {
    display: none;
}
#obituaries_search_main_form_wrap button:hover {
    cursor:pointer;
    opacity:0.7;
}

.select_custom_arrow {
    position:relative;
}
.select_custom_arrow select {
    padding-right: 3rem !important;
}
.select_custom_arrow:after {
    content: 'v';
    background: var(--blue);
    font-weight:bold;
    color: white;
    /* transform: rotate(
90deg
); */
    right: 0;
    padding: 0.4rem;
    position: absolute;
    text-align: center;
    width: 2rem;
    pointer-events: none;
}

.famloginlink {
    text-decoration:none;
    text-transform: uppercase;
    font-weight:bold;
    font-size:0.8rem;
}
#obit_social {
    margin-top:3rem;
    margin-bottom:3rem;
    justify-content: flex-end;
}
#obit_social ul {
    display:flex;
    list-style:none;
    gap:3rem;
    align-items: center;
}
#obit_sidebar {
    margin:3rem;
    padding:3rem;
    background:white;
    width:300px;
    flex-shrink:0;
    position: sticky;
    top: 3rem;
    align-self: flex-start;
}
#obit_sidebar ul {
    list-style:none;
    gap:2rem;
}
#obit_main_content {
    padding:3rem;
    background:white;
    width:100%;
    margin-left:3rem;
    overflow: hidden;
}
#obit_sidebar ul a:not(.btn) {
    font-weight:bold;
    text-decoration:none;
    font-size:1.2rem;
    border-bottom:2px solid transparent;
    transition:border 0.3s ease;
}
#obit_sidebar ul a:not(.btn):hover {
    border-bottom:2px solid var(--blue);
}

.gallery.flex {
    flex-wrap:wrap;
    gap:2rem;
    margin-top:2rem;
    justify-content: space-evenly;
}

.gallery.flex img {
    padding:1rem 1rem 2rem 1rem;
    background:white;
    box-shadow:0 10px 10px rgba(0,0,0,0.3);
    max-width:250px;
    width:250px;
    margin-bottom:1rem;
}

.fam_controls.flex {
    display:flex;
    gap:1rem;
}
.fam_controls {
    margin-bottom:1rem;
}
.fam_controls button {
    border:1px solid #555;
    padding:0.5rem 1rem;
    font-weight:bold;
    border-radius:0.2rem;
    color:white;
}
.fam_controls button.public_toggle {
    background:#7a7;
}
.fam_controls button.public_toggle.private {
    background:#a77;
}
.fam_controls button.publish_toggle {
    background:#7a7;
}
.fam_controls button.publish_toggle.state_0 {
    background:#a77;
}

.tribute_wrap {
    padding:2rem;
    margin:2rem;
    background: #efefef;
    border-left: 0.5rem solid rgba(0,0,0,0.05);
}
.tribute_wrap p {
    margin-top: 0;
    background: white;
    padding: 1rem;
    /* border-radius: 1em; */
    box-shadow: 0 0 1em rgb(0 0 0 / 10%);
}
h4.tribute_from {
    margin-top:1rem;
    text-align: right;
    color: #555;
    font-family: serif;
    font-family: 'Unna', serif;
    font-style: italic;
    font-size:1.2rem;
}
h5.tribute_when {
    text-align:right;
    color:#aaa;
    margin-top:0.5em;
    font-weight: normal;
}
aside.sub_tribute_wrap {
    margin: 2rem;
    margin-bottom: 0;
    background: rgba(0,0,0,0.05);
    padding: 2rem;
    margin-right: 0;
    transform: translateX(2rem);
    border-left: 0.5rem solid rgba(0,0,0,0.05);
}
.flex.tribute_info .btn {
    align-self: flex-end;
}
.flex.tribute_info {
    justify-content: space-between;
}
.submit.field {
    margin-top:1rem;
}
p.note {
    max-width:40ch;
    opacity:0.8;
    font-style: italic;
    line-height:1;
}

div#memorial_contributions {
    display: flex;
}
div#memorial_contributions a {
    margin:1em;
}
div#memorial_contributions p {
    margin-top:0px !important;
}
.memorialmessage {
    margin-top:0;
    margin-bottom:2rem;
}


.btn:hover, .dontcrashprinting:hover {
    cursor:pointer;
}

.obit_location_wrap {
    max-width:87%;
    margin:0 auto;
}
.obit_location_wrap h3 {
    margin-bottom:1em;
}
.location_info_bit h5 {
    font-family:sans-serif;
    font-family: 'Red Hat Text', sans-serif;
    font-size:1.1rem;
    margin-bottom: 1em;
}
.location_info_bit p {
    margin-top:0;
    margin-bottom:1.5rem;
    font-size:1rem;
    line-height: 1rem;
}
.location_info_bit ul {
    list-style:none;
    gap:1rem;
}
.location_info_bit ul li a {
    font-weight:bold;
    text-decoration:none;
    text-transform: uppercase;
    font-size:1rem;
}
.location_map_wrap h5 {
    padding:3em;
}
.location_map_wrap {
    min-width:300px;
}

/* view_4 is chapel view */
body:not(.home, .view_4, .view_10) main {
    margin-top:11.3rem;
    /* margin-top:15rem; */
}
main p, main ul {
    margin-top:1.5em;
    list-style-position: inside;
}
main ul, main ol {
    list-style-position:outside;
    margin-left:2rem;
}
main :is(ul,ol) li {
    margin-top:1em;
}
main .readable, main .single_blog_wrap, .contain.readable {
    max-width:116ch;
    max-width:90ch;
}

.single_article {
    margin-top:3rem;
}

.contact form, .unsubscribe form {
    margin:3rem 0;
}
.contact form .field, .unsubscribe form .field, #pre-arrangement-form_form_widget .field {
    margin-top:1rem;
}

section.hero_heading h1 {
    color:white;
    margin:2em;
    text-align:center;
    text-align: center;
    position:relative;
    text-shadow:0 0 0.5em rgba(0,0,0,0.5);
}
section.hero_heading {
    overflow:hidden;
    background-size:cover;
    background-position:center;
    position:relative;
}
.hero_heading_bg {
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:saturate(0.5) brightness(0.5);
}
.herocta {
    margin-top:2rem;
}
main hr {
    border: 1px solid rgb(222 226 222);
    margin-top:3rem;
    margin-bottom:3rem;
}
main hr.narrow {
    width:75%;
    margin:3rem auto;
}

img {
    max-width:100%;
    height:auto;
}

div#locations_wrap {
    background:rgb(222 226 222);
    padding:2rem;
}
#locations {
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
}
#locations > * {
    width:22%;
    margin:1rem;
    padding:1rem;
    background:#c0c8ba;
    text-align:center;
    font-size:110%;
}
#locations img {
    width:100%;
    display: block;
}
#locations h4 {
    font-weight:900;
    margin-bottom:1em;
    margin-top:1em;
}
.location_info_bit .directions {
    margin-bottom:1rem;
}
.location_info_bit .directions h5 {
    margin-right:2rem;
}
.directions ul.flex {
    margin:0;
    margin-bottom:1rem;
}

.florist_list {
    list-style:none;
    margin:0;
    padding:0;
    gap:2rem;
    flex-wrap:wrap;
}
.florist_listing {
    margin-top:2rem;
    padding:2rem;
    background:#efefef;
}
.florist_listing h4 {
    margin-top:0;
}


footer {
    background:#c0c8ba;
    padding-top:2rem;
    padding-bottom:2rem;
    text-align:center;
}
footer a {
    color:var(--blue);
}
footer .admin_login {
    display:block;
    margin-top:2rem;
}
footer a:hover {
    color:black;
    text-decoration:none;
}

/* front end modal */
.modal {
    display:none;
    position:fixed;
    z-index:10;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    overflow-x:hidden;
    overflow-y:auto;
    justify-content: center;
    align-items:center;
    flex-direction:column;
}
.modal.is-active {
    display:flex;
}
.modal-background {
    position:absolute;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    overflow:hidden;
    background:rgba(0,0,0,0.8);
}
.modal-card {
    background:white;
    padding:1rem;
    border-radius:0.5rem;
    z-index:11;
    
}
header.modal-card-head {
    display: flex;
    justify-content: space-between;
}
button.delete {
    flex-shrink: 0;
    /* display: inline-flex; */
    /* flex-shrink: 0; */
    align-self: flex-start;
    border: none;
    background: none;
}
.modal-card-body {
    padding:2rem;
    border-top:1px solid #aaa;
    border-bottom:1px solid #aaa;
}
.modal header {
    margin-bottom:1rem;
}
.modal footer {
    margin-top:1rem;
}
/* end front end modal */

#family_login_form .form-control {
    display:flex;
    flex-wrap:wrap;
    margin:1rem;
    align-items: center;
}
#family_login_form .form-control label {
    width:15ch;
    font-weight:bold;
}
#family_login_form input {
    padding:0.25rem 0.5rem;
    border-radius:0;
    border:1px solid #aaa;
}
form .btn {
    padding:1rem 2rem;
}
form .btn:hover {
    opacity:0.8;
}
#email_obit_modal label {
    width:15ch;
}
#email_obit_modal p {
    max-width:50ch;
    line-height:1;
    font-size:0.9rem;
    opacity:0.8;
}

form select {
    border: 1px solid rgba(0,0,0,0.1);
    padding:1rem;
}
form select option {
    padding:0.5rem 1rem;
}

form textarea {
    width: 100%;
    padding: 1rem;
    /* margin-top: 2rem; */
    /* margin-bottom:2rem; */
    border: 1px solid rgba(0,0,0,0.1);
    font-family:inherit;
    font-size:inherit;
}
.field-group.flex {
    justify-content: space-evenly;
    margin: 1rem auto;
}
.field.flex {
    margin: 1rem 0;
    gap: 2rem;
    align-items:center;
}
.field.flex:first-of-type {
    margin-top:0;
}
.field.flex label {
    font-weight:bold;
    width:5ch;
}
.field input[type="text"],.field input[type="email"] {
    width:100%;
    border: 1px solid rgba(0,0,0,0.1);
    padding: 0.5em 1em;
}
.radio.field label {
    font-size:75%;
}

#obit_search_main_results .contain {
    margin-top:3rem;
}
#obituaries_search_main_form_wrap label.label {
    position: absolute;
    top: -1rem;
    font-weight: bold;
    font-size: 70%;
    opacity: 0.5;
}



aside.obit_location.flex {
    gap: 3rem;
}
.location_info_wrap {
    min-width: 50%;
}

.alert.notification {
    max-width:1200px;
    margin:1rem auto;
    padding:1rem;
    z-index:99999;
    position:relative;
    z-index:99999;
}
.alert.notification p {
    margin:0;
    padding:1rem;
    background:rgba(255,255,255,1);
}
.alert.notification button {
    display:none;
}
.alert.notification.is-success {
    background-color: rgba(100,255,100,0.5);
}
.alert.notification.is-danger {
    background-color: rgba(255,100,100,0.5);
}
.alert.notification.is-warning {
    background-color: rgba(255,180,100,0.5);
}

#clientheader {
    background-position:center;
    background-size:cover;
    height:40rem;
    padding-top:14rem;
}
#clientheader > .contain {
    height:26rem;
    position:relative;
}
.clientheader_left {
    width:400px;
    flex-shrink:0;
}
.obit_client_title_wrap {
    padding-left:3rem;
    padding-bottom:3rem;
    align-self: flex-end;
    text-shadow:0 0 5px rgba(0,0,0,0.5);
}
.obit_client_title_wrap h1, .obit_client_title_wrap p {
    color:white;
}
.obit_client_title_wrap p {
    font-size:1.3rem;
    font-weight:100;
}
#clientheader img {
    border:1rem solid white;
}


.blog_list_wrap {
    display:flex;
    flex-wrap:wrap;
    gap:4rem;
    justify-content: center;
    
}
.blog_list_wrap > * {
    width:300px;
}

.clear {
    clear:both;
}

#location_buckets_container .flex {
    gap:2rem;
    color:white;
    margin-top:2rem;
    margin-bottom:2rem;
}
.bucket {
    width:100%;
    padding:2rem;
}
#location_buckets_container .bucket:nth-child(1) {
    background:#104c8b;
}
#location_buckets_container .bucket:nth-child(2) {
    background:#51789d;
}
#location_buckets_container .bucket:nth-child(3) {
    background:#5f1a37;
}
.bucket h1 {
    color:white;
    font-size:2.5rem;
}
.bucket p {
    margin-top:1em;
}
.bucket p:last-of-type {
    margin-bottom:1em;
}
.cta.inverse {
    color:white;
    border-color:white;
}
.cta.inverse:hover {
    background:rgba(0,0,0,0.2);
}

a.social {
    text-indent:-9999px;
    display:inline-block;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    width:3rem;
    height:3rem;
}
a.social.fb {
    background-image:url(/templates/starks/images/icons/f_logo_RGB-Blue_1024@3x.png);
}
a.social.tw {
    display:none;
    background-image:url(/templates/starks/images/icons/Twitter_Logo_WhiteOnBlue@3x.png);
}
a.social.em {
    background-image:url(/templates/starks/images/icons/Email@3x.png);
}
a.social.pr {
    background-image:url(/templates/starks/images/icons/Print@3x.png);
}

.pull-right {
    float:right;
    padding-left:2rem;
    padding-bottom:2rem;
}
.max-half {
    max-width:50%;
}
img.pull-right.max-half {
    max-width:400px;
    width:min(50%,400px);
}
img.pull-right.max-quarter {
    max-width:200px;
    width:min(25%,200px);
}
img.half-height.staff_image {
    width: 150px;
    margin: 0 auto;
}
section {
    clear:both;
}
img.staff_image {
    aspect-ratio: 0.7;
    object-fit: cover;
    object-position: center bottom;
}

section.staff_listing {
    background:#eee;
    padding-bottom:2rem;
    padding-top:2rem;
}
.staff_listing_wrap {
    display:flex;
    flex-wrap:wrap;
    gap:2rem;
    margin:1rem 0;
    justify-content: center;
}
.staff_member_card_wrap {
    /* border: 1px solid #aaa; */
    width:30ch;
    width:21ch;
    background:white;
    min-height:10ch;

}
.staff_member_wrap {
    margin: 3rem 0;
}
.staff_member_card_wrap h4 {
    text-align:center;
    padding:1em;
    margin:0;
}
.staff_member_card_wrap.has_image_0 {
    align-items: center;
    display:flex;
    justify-content: center;
}
.staff_member_card_wrap {
    /* transform:scale(1);*/
    /* transition:outline 0.4s ease;   */
    outline:2px solid rgba(0,0,0,0);
}
.staff_member_card_wrap:hover  {
    /* transform:scale(1.1); */
    outline:2px solid rgba(0,0,0,0.2);
}

.staff_member_card_wrap a {
    color:black;
    text-decoration:none;
    display: flex;
    flex-direction: column;
    width:100%;
    height:100%;
    justify-content: center;
}
.staff_member_card_wrap img {
    width: 100%;
    height: calc(100% - 3.33em);
    object-fit: cover;
}
.staff_member img.pull-right {
    max-width:max(500px,50%);
}

aside.branch:hover {
    outline:1px solid #aaa;
}
aside.branch a {
    color:black;
    text-decoration:none;
}

.branch_hero_wrap {
	background-size:cover;
	background-repeat: no-repeat;
	background-position:center;
}
.branch_hero {
	padding-top:20rem;
	padding-bottom:10rem;
	display:flex;
	justify-content: flex-start;	
	align-items: center;
}
.branch_hero_content {
	background:rgba(255,255,255,0.9);
	padding:3rem;
	max-width:80ch;
}
.branch_hero h1 {
	margin-top:0;
}
.branch_hero .branch_addr_tel {
	color:var(--lightblue);
	font-size:1.4rem;
	font-style:italic;
	font-weight:200;
	font-family: "Garamond ",serif;
	letter-spacing: 0px;
}

.home .hero_content {
    padding:2rem;
    background:rgba(255,255,255,0.8);
    box-shadow:0 0 10px rgba(0,0,0,0.3);
}
.home .hero_content p {
    max-width:60ch;
}

body.hotels .Accordion-panel h3 {
    margin-top:1em;
    margin-bottom:1em;
}
body.hotels .Accordion-panel h3:first-of-type {
    margin-top:0;
}
body.hotels .Accordion-panel p {
    margin:0;
}

aside#obit_pagination {
    display: flex;
    gap: 2rem;
    justify-content: center;
    margin-bottom: 3rem;
}

@media (max-width:1224px) {
    aside#top_buttons {
        display: none;
    }

    #menu_main-menu {
        display: none;
    }

    .open_mobile_menu {
        display: block;
    }
}

@media (max-width:900px) {
    #homepage-teasers {
        grid-template-areas:
            'item2 item2 item1 item1'
            'item3 item3 item4 item4'
            'item5 item5 item6 item6'
            'item7 item7 item7 item7';
      }

      .teaser_wrap h1 {
        font-size: 1.7em;
    }

    #obit_main .contain.flex, #clientheader .contain.flex {
        flex-direction: column;
    }

    .clientheader_left {
        margin:auto;
    }

    .clientheader_left {
        width: 90%;
        max-width: 400px;
    }

    .obit_client_title_wrap h1 {
        font-size: 1.7rem;
        text-align: center;
    }

    .obit_client_title_wrap p {
        margin-top: .8rem;
        text-align: center;
        font-size: 1rem;
    }

    .obit_logo_fixed {
        left: 50%;
        margin-left: -65px;
    }

    #obit_main_content {
        margin-left: 0;
        padding: 1.3rem;
    }

    #obit_sidebar {
        position: relative;
        margin: 0;
        top: 0 !important;
        margin-bottom: 20px;
        width: 100%;
        text-align: center;
    }

    nav#obit_sidebar ul {
        margin: 0;
    }

    #obit_main_content p {
        font-size: 1rem;
    }

    aside.obit_location.flex {
        flex-direction: column;
    }
    aside.obit_location_wrap {
        margin: 0;
    }

    #clientheader {
        padding-top: 10rem;
        height: 50rem;
    }

    .obit_client_title_wrap {
        padding-left: 0;
        max-width: 400px;
        align-self: center;
    }

    section#obit_social {
        justify-content: center;
    }

    section#obit_social ul {
        margin: 0;
    }
}

@media (max-width:768px) {

    h1 {
        font-size: 2.5rem;
    }

    aside.hero_content p {
        font-size: .9rem;
    }

    aside.hero_content {
        margin-top: 50px;
    }

    #obits_contain.flex {
        flex-direction: column;
    }

    #obits_contain form.flex33, #obits_contain .obits_wrap.flex66 {
        width: 100%;
        gap: 0rem;
    }

    .obit_wrap {
        width: 25%;
    }

    #locations > * {
        width: 44%;
    }

    #location_buckets_container .flex {
        flex-direction: column;
    }

    #top_nav {
        padding-top: 1rem;
        padding-bottom: 1rem!important;
    }

    #homelogo img {
        max-height: 5rem!important;
    }

    .branch_hero {
        padding-top: 10rem;
    }

    body:not(.home, .view_4, .view_10) main {
        margin-top: 7.3rem;
    }

    .select_custom_arrow.field {
        display: none!important;
    }

    #obituaries_search_main_form_wrap form {
        gap: 0rem;
    }

    #obit_search_results_flex .obit_wrap {
        width: 20%;
    }

    button.open_mobile_menu {
        top: 3rem;
    }
}

@media (max-width:575px) {
    #homepage-teasers {
        grid-template-areas:
            'item2 item2'
            'item1 item1'
            'item3 item3'
            'item4 item4'
            'item5 item5'
            'item6 item6'
            'item7 item7';
      }
    
      .obit_wrap {
        width: 50%;
    }

    div#locations_wrap {
        padding: 0rem;
    }

    #locations > * {
        width: 45%;
        margin: .5rem;
        padding: .5rem;
        font-size: .9rem;
    }

    #obit_search_results_flex .obit_wrap {
        width: 40%;
    }

    header.shortheader_wrap {
        padding-top: 6em;
    }

    button.open_mobile_menu {
        right: 1rem;
    }

}
/* end homepage grid */


/* accordion */

.Accordion {
    margin: 0;
    padding: 0;
    border: 2px solid hsl(0, 0%, 82%);
    border-radius: 7px;
    width: 20em;
  }
  
  .Accordion > h3 {
    margin: 0;
    padding: 0;
  }
  
  .Accordion.focus {
    border-color: hsl(216, 94%, 73%);
  }
  
  .Accordion.focus > h3 {
    background-color: hsl(0, 0%, 97%);
  }
  
  .Accordion > * + * {
    border-top: 1px solid hsl(0, 0%, 82%);
  }
  
  .Accordion-trigger {
    background: none;
    color: hsl(0, 0%, 13%);
    display: block;
    font-size: 1rem;
    font-weight: normal;
    margin: 0;
    padding: 1em 1.5em;
    position: relative;
    text-align: left;
    width: 100%;
    outline: none;
  }
  
  .Accordion-trigger:focus,
  .Accordion-trigger:hover {
    background: hsl(216, 94%, 94%);
  }
  
  .Accordion *:first-child .Accordion-trigger {
    border-radius: 5px 5px 0 0;
  }
  
  button {
    border-style: none;
  }
  
  .Accordion button::-moz-focus-inner {
    border: 0;
  }
  
  .Accordion-title {
    display: block;
    pointer-events: none;
    border: transparent 2px solid;
    border-radius: 5px;
    padding: 0.25em;
    outline: none;
  }
  
  .Accordion-trigger:focus .Accordion-title {
    border-color: hsl(216, 94%, 73%);
  }
  
  .Accordion-icon {
    border: solid hsl(0, 0%, 62%);
    border-width: 0 2px 2px 0;
    height: 0.5rem;
    pointer-events: none;
    position: absolute;
    right: 2em;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 0.5rem;
  }
  
  .Accordion-trigger:focus .Accordion-icon,
  .Accordion-trigger:hover .Accordion-icon {
    border-color: hsl(216, 94%, 73%);
  }
  
  .Accordion-trigger[aria-expanded="true"] .Accordion-icon {
    transform: translateY(-50%) rotate(-135deg);
  }
  
  .Accordion-panel {
    margin: 0;
    padding: 1em 1.5em;
  }
  
  /* For Edge bug https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4806035/ */
  .Accordion-panel[hidden] {
    display: none;
  }

/* starks accordion overrides */

.Accordion {
    width:100%;
    border:none;
    border-radius:0px;
}

.Accordion h3 button {
    width:100%;
    background:var(--bgblue);
    color:var(--blue);
    font-weight:normal;
    font-size:2rem;
    font-style:italic;
    padding:0.25em;
    border-radius:0px !important;
}
.Accordion h3 button:hover {
    cursor:pointer;
}

.Accordion h3 button[aria-expanded='true'] {
    background:white;
}

.Accordion-panel {
    border:0 !important;
}

.Accordion > h3 {
    margin-top:2rem;
    border:none !important;
}

.Accordion-icon {
    right:2rem;
}

.Accordion-panel {
    height:auto;
    max-height:2000px;
    transition:all 11s ease-in-out;
    overflow:hidden;
    max-height:80vh;
    overflow-y: auto;
}

.Accordion-panel[hidden] {
    max-height:0px;
}

.branch_ctas {
    display:flex;
    gap:2rem;
    margin-top:2rem;
}

/* hb columns */

.columns {
    display:flex;
    flex-wrap:wrap;
    width:100%;
    flex-shrink:0;
}
.columns.columns-3 > .column {
    width:33%;
    flex-shrink:0;
    padding:1rem;
}
.columns.columns-2 > .column {
    width:50%;
    flex-shrink:0;
    padding:1rem;
}
.columns.columns-4 > .column {
    width:25%;
    flex-shrink:0;
    padding:1rem;
}
.delete:hover {
    cursor:pointer;
}
#pre-arrangement-form_form_widget {
    margin-top:2rem;
    margin-bottom:2rem;
}

aside.search_info {
    text-align: center;
    font-weight: bold;
    margin-bottom: 4rem;
}

.customform select {
    padding:0.25em 0.5em;
}
.customform label {
    /* font-weight:bold; */
    margin:0.5em 0;
    display:block;
    margin-top:1.5rem;
}
.customform .help {
    opacity:0.7;
    font-style:italic;
}
.customform input:required, .customform select:required {
    border:1px solid rgba(240, 171, 43, 0.7);
}
.customform input:valid, .customform select:valid {
    border:1px solid rgba(68, 102, 255, 0.7);
}
.customform input::placeholder {
    opacity:0.5;
    font-style:italic;
}
.customform .field.required label::after {
    content:' *';
}
a.cta.btn.disabled {
    opacity:0.5;
}
a.cta.btn.disabled:hover {
    cursor:not-allowed;
}

.ada_only {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
#notification_signup {
    padding:2rem;
    background:#dee2de;
    display:flex;
    align-items: center;
    justify-content: center;
}
#notification_signup aside {
    display:flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
}
#notification_signup p {
    padding:0;
    margin:0;
    max-width: 30ch;
    text-align:center;
    line-height:1.1;
    margin-bottom:1em;
}

@media print {
    #top_nav, #mobile_menu {display:none !important;}
    .obit_logo_fixed { display:none; }
    #obit_sidebar, .cta, .dontcrashprinting, a.btn,  #above_footer, #obit_social, footer { display:none; }
    #obit_main_content button { display:none; }
    #obit_main_content .memory_wall_intro_p { display:none; }
}