body
{
  margin: 0;
}

div#main
{
  width: 100%;
}

div#main div.logo
{
  width: 100%;
  text-align: center;
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  z-index: 100;
  color: #DDD;
  background-color: #333;
}

div#main div.logo div.home_container
{
	position: relative;
	height: 30px;
	max-width: 1000px;
	min-width: 700px;
	margin: 0px auto;
	line-height: 30px;
	font-size: 10pt;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
	padding: 0px 20px;
	text-align: center;
}

div#main div.logo div.home_container div.home_info
{
  position: relative;
  float: left;
  display: inline;
  width: 450px;
  text-align: left;
}


div#main div.logo div.home_container div.subscribe
{
  position: relative;
  float: right;
  display: inline;
  width: 290px;
  text-align: right;
}

div#main div.logo div.home_container a
{
  color: white;
}

div#main div.portrait_info
{
  height: 0px;
  float: left;
  position: sticky;
  top: -385px;
  width: 100%;
  min-width: 400px;
  z-index: 20;
}

div#main div.solid_parent
{
  position: sticky;
  height: 0px;
  top: 30px;
  z-index: 3;
}
div#main div.solid
{
  display: block;
  width: 100%;
  height: 160px;
  position: absolute;
  top: 0px;
  border-top: 5px solid white;
  background-color: #555;
  z-index: 10;
}

div#main div.portrait_info div.name:before
{
  font-style:italic;
  font-size: 24pt;
  font-size: 32px;
  content: "In Loving Memory Of\A";
  white-space: pre;
}

div#main div.portrait_info div.name
{
  height: 110px;
  display: block;
  text-align: center;
  font-size: 36pt;
  font-size: 48px;
  width: 100%;
  position: relative;
  top: 420px;
  z-index: 20;
}

div#main div.portrait_info div.dates
{
  height: 50px;
  text-align: center;
  font-size: 24pt;
  font-size: 32px;
  width: 100%;
  position: absolute;
  top: 530px;
}

div#main div.portrait_info div.name,
div#main div.portrait_info div.dates
{
  background-color: rgba(20,20,20,0.6);
  text-shadow: 2px 2px 5px black;
  color: white;
}

div#main div.portrait_container
{
  position: relative;
  z-index: 4;
  width: 100%;
  height: 580px;
  color: #DDD;
/*  text-shadow: 1px 1px 1px white, 0px 0px 5px white; */
  padding: 20px 0px;
/*  margin-bottom: 220px; */
}

div#main div.portrait_container.top
{
	background-position: top center;
}

div#main div.portrait_container.center
{
	background-position: center center;
}

div#main div.portrait_container.bottom
{
	background-position: bottom center;
}

div#main div.portrait.center img
{
  position: absolute;
  margin: auto;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
div#main div.portrait.left img
{
  position: absolute;
  bottom: 0px;
  left: 0px;
}
div#main div.portrait.right img
{
  position: absolute;
  bottom: 0px;
  right: 0px;
}
div#main div.portrait.none
{
  display: none;
}
div#main div.portrait
{
  vertical-align: bottom;
  width: 1000px;
  margin: auto;
  height: 0px;
  z-index: 30;
}

div#main div.portrait.shadow img
{
  box-shadow: 5px 5px 35px black;
}

div#main div.portrait.oval img
{
  display: inline-block;
  border-radius: 250px / 347px;
  border-radius: 50%/50%;
  border-top: 6px groove;
  border-right: 6px ridge;
  border-bottom: 6px ridge;
  border-left: 6px groove;
  box-shadow: 5px 5px 35px black;
}

div#main div.portrait.rectangle img
{
  display: inline-block;
  border-top: 6px groove;
  border-right: 6px ridge;
  border-bottom: 6px ridge;
  border-left: 6px groove;
  box-shadow: 5px 5px 35px black;
}

div#main div.portrait.center
{
  position: relative;
  bottom: 210px;
  text-align: center;
  margin: auto;
}

div#main div.portrait.left
{
  position: relative;
  bottom: 160px;
  text-align: left;
}

div#main div.portrait.right
{
  position: relative;
  bottom: 160px;
  text-align: right;
}

div#main div.information
{
/*
	background-image: linear-gradient(
			-80deg, 
			#FFF 100px, 
			#DDD 200px, 
			#BBB 300px, 
			#FFF 400px, 
			#DDD 500px, 
			#BBB 600px, 
			#FFF 700px, 
			#DDD 800px,
			#BBB 900px, 
			#FFF 1000px
*/
	display: block;
	background-color: rgb(250,250,250);
/*
	background-image: linear-gradient(
		-75deg,
		#FEFEFE 10%,
		#FAFAFF 10%,
		#FAFAFF 20%,
		#FEFEFE 20%,
		#FEFEFE 30%,
		#FAFAFF 30%,
		#FAFAFF 40%,
		#FEFEFE 40%,
		#FEFEFE 50%,
		#FAFAFF 50%,
		#FAFAFF 60%,
		#FEFEFE 60%,
		#FEFEFE 70%,
		#FAFAFF 70%,
		#FAFAFF 80%,
		#FEFEFE 80%,
		#FEFEFE 90%,
		#FAFAFF 90%,
		#FAFAFF);
*/

	border: thin solid #CCC;
	width: 980px;
	padding: 20px 0px 0px 20px;
	margin: 0px auto 0px;
	text-align: center;
	font-family: sans-serif;
	font-size: 10pt;
	font-size: 13pt;
}

div#main div.information_header
{
  width: 1000px;
  line-height: 24px;
  margin: 20px auto 0px;
  padding-left: 100px; 
  font-size: 24pt;
  font-size: 32px;
  font-style: italic;
}

div#main div.information_header::after
{
  content: 'At A Glance Information ...';
}


div#main div.information > div
{
  display: inline-block;
  vertical-align: top;
  width: 430px;
  margin-right: 20px;
  margin-bottom: 20px;
} 

div#main div.information > div div.title
{
  text-align: center;
  font-weight: bold;
  display: none;
}

div#main div.information > div.charity div.title
{
  display: block;
  margin-bottom: 8px;
  font-size: 12pt;
  font-size: 16pt;
}

div#main div.information > div div.section_title
{
  text-align: center;
  font-weight: bold;
  font-size: 12pt;
  font-size: 16pt;
  margin-bottom: 8px;
}

div#main div.information div.service_info div.service_date div.details::first-letter
{
    text-transform: capitalize;
}

div#main div.information > div.gotovideo_button_container
{
    width: 100%;
}
div#main div.information > div.gotovideo_button_container input
{
    color: red;
    width: 300px;
    font-size: 16pt;
    padding: 10px 30px;
    white-space: normal;
    border-radius: 10px;
    font-weight: bold;
    box-shadow: 2px 2px 5px #555;
    cursor: pointer;
    background: linear-gradient(0deg, #ccc, transparent);
}

div#main div.buttons_tabs_container
{
  width: 1000px;
  margin: 0px auto 0px;
  padding-bottom: 20px;
  position: relative;
  left: 0px;
}

div#main div.buttons_tabs_container div.button a>img, div#main div.button>img
{
  display: none;
}
div#main div.buttons_tabs_container div.buttons div.button
{
/*
  width: 130px;
  padding: 0px 10px;
  margin: 5px 0px;
  text-align: center;
  border: thin solid #999;
  border-radius: 5px;
  background: linear-gradient(to bottom, rgba(150,150,150,1) 0%,rgba(120, 120, 120, 1) 50%,rgba(100, 100, 100, 1) 100%); 
  background: linear-gradient(135deg, #DCE 10px, #FFF 10px, #FFF);
  font-size: 12pt;
  text-decoration: none;
*/
  font-family: sans-serif;
  font-size: 12pt;
  font-size: 16px;
  font-weight: bold;  
  color: #333;
  display: inline-block;
  min-width: 150px;
  justify-items: space-evenly;
  flex: 1 0 auto;
  line-height: 40px;
  cursor: pointer;
  background: linear-gradient(to bottom, #EEE 10%, #DDD);
  border-right: 1px solid #CCC;
}

div#main div.buttons_tabs_container div.buttons div.button a
{
  font-family: sans-serif;
  text-decoration: none;
  color: #333;
  font-size: 12pt;
  font-size: 16px;
  display: inline-block;
    width: 100%;
    height: 100%;
}

div#main div.buttons_tabs_container div.buttons div.button:hover a,
div#main div.buttons_tabs_container div.buttons div.button:hover
{
/*  text-decoration: underline; */
  background: linear-gradient(to bottom, #DDD 10%, #EEE);
  color: #555;
}
div#main div.buttons_tabs_container div.buttons
{
  text-align: center;
  display: inline-flex;
  flex-wrap: wrap;
  width: 999px;
  margin: 4px 0px;
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
}

div#main div.buttons_tabs_container div.tabs
{
  vertical-align: top;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-items: space-evenly;
  width: 985px;
  padding: 0px 15px 0px 0px;
  border-left: 1px solid #AAA;
  border-right: 1px solid #AAA;
  border-radius: 15px 15px 0 0;
}

/* tab css */

div.tabs input
{
  display: none;
}

div.tabs label
{
  color: #F9F9F9;
  text-align: center;
  flex:  1 1 auto;
  font-size: 10pt;
  font-size: 13px;
  line-height: 40px;
  font-family: sans-serif;
  font-weight: bold;
  margin: 0 -15px 0 0px;
  border: 1px solid #666;
  background-color: #F9F9F9;
  background-color: #888;
  border-radius: 15px 15px 0 0;
  cursor: pointer;
  z-index: 1;
}

div.tabs input:checked + label
{
  color: black;
  background-color: white;
  border-bottom: 1px solid white;
  z-index: 2;
}

div.obituary,
div.images,
div.guestbooks,
div.donations,
div.livestream_videos,
div.acknowledgements
{
  position: relative;
  display: none;
  padding: 15px;
  min-height: 600px;
  width: 968px;
  min-width: 968px;
  height: 100%;
  background-color: white;
  border-left: 1px solid #666;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  overflow: auto;
  text-size-adjust: none;
}

div.livestream_videos
{
  text-align: center;
}

div.livestream_videos iframe
{
  margin: 40px auto;
}

div.livestream_videos div.video
{
  padding-bottom: 40px;
}

div.obituary div.epitaph
{
  text-align: center;
}
div.guestbooks iframe, div.donations iframe
{
  margin: 0;
  padding: 0;
  border: none;
  width: 100%;
/*  height: 600px; */
  height: 100%;
  min-height: 800px;
}

input#obituary:checked ~ div.obituary,
input#images:checked ~ div.images,
input#guestbooks:checked ~ div.guestbooks,
input#donations:checked ~ div.donations,
input#livestream_videos:checked ~ div.livestream_videos,
input#acknowledgements:checked ~ div.acknowledgements
{
  display: block;
}

div.footer
{
  line-height: 30px;
  color: #DDD;
  background-color: #333;
  text-align: center;
}

div.footer a
{
  color: #DDD;
}



@media (max-width: 0px)
{
	div#main div.buttons_tabs_container div.buttons
	{
		width: 1000px;
		margin-top: 0px;
		position: relative;
		top: 0px;
	}
	div#main div.buttons_tabs_container
	{
		width: 1000px;
		margin: 20px auto 0px;
		padding-bottom: 20px;
		position: relative;
		left: 0px;
	}	
	div#main div.buttons_tabs_container div.tabs
	{
		margin-left: 0px;
	}

}

@media (max-width: 1000px)
{
	div#main div.information_header
	{
		width: 800px;
	}
	div#main div.information
	{
		width: 778px;
	}
	div#main div.buttons_tabs_container div.buttons
	{
		width: 800px;
		margin-top: 0px;
		position: relative;
		top: 0px;
	}
	div#main div.buttons_tabs_container
	{
		width: 800px;
		margin: 20px auto 0px;
		padding-bottom: 20px;
		position: relative;
		left: 0px;
	}	
	div#main div.buttons_tabs_container div.tabs
	{
		width: 785px;
		margin-left: 0px;
	}

	div.obituary,
	div.images,
	div.guestbooks,
	div.donations,
	div.livestream_videos,
	div.acknowledgements
	{
		min-width: 768px;
		width: 768px;
	}

	div#main div.portrait
	{
		width: 800px;
	}

/*
	div#main div.portrait.left,
	div#main div.portrait.right
        div#main div.portrait.right img,
        div#main div.portrait.left img
*/

	div#main div.portrait.center
	{
          position: relative;
          bottom: 210px;
          text-align: center;
          margin: auto;
	}
        div#main div.portrait.center img
        {
          position: absolute;
          margin: auto;
          left: 0px;
          right: 0px;
          bottom: 0px;
        }

}

@media (max-width: 800px)
{
	div#main div.information_header
	{
		width: 600px;
		text-align: center;
		margin: 20px auto 0;
		padding: 0px;
	}
	div#main div.information
	{
		width: 578px;
	}
	div#main div.buttons_tabs_container div.buttons
	{
		width: 600px;
		margin-top: 0px;
		position: relative;
		top: 0px;
	}
	div#main div.buttons_tabs_container
	{
		width: 600px;
		margin: 20px auto 0px;
		padding-bottom: 20px;
		position: relative;
		left: 0px;
	}	
	div#main div.buttons_tabs_container div.tabs
	{
		width: 585px;
		margin-left: 0px;
	}

	div.obituary,
	div.images,
	div.guestbooks,
	div.donations,
	div.livestream_videos,
	div.acknowledgements
	{
		min-width: 568px;
		width: 568px;
	}
	div.livestream_videos
	{
		min-width: 600px;
		width: 600px;
		padding: 0px;
	}

	div#main div.portrait
	{
		width: 600px;
	}
	div#main div.portrait.center,
	div#main div.portrait.left,
	div#main div.portrait.right
	{
          position: relative;
          bottom: 210px;
          text-align: center;
          margin: auto;
	}
        div#main div.portrait.center img,
        div#main div.portrait.right img,
        div#main div.portrait.left img
        {
          position: absolute;
          margin: auto;
          left: 0px;
          right: 0px;
          bottom: 0px;
        }

	div#main div.logo div.home_container
	{
		min-width: 400px;
		height: 70px;
	}
	div#main div.logo div.home_container div.home_info,
	div#main div.logo div.home_container div.subscribe
	{
		width: 100%;
		text-align: center;
		display: block;
		float: none;
		text-align: center;
		display: block;
		float: none;
	}

}

@media (max-width: 600px)
{
	div#main div.information_header
	{
		width: 400px;
		text-align: center;
		margin: 20px auto 0;
		padding: 0px;
	}
	div#main div.information
	{
		width: 378px;
	}
	div#main div.buttons_tabs_container div.buttons
	{
		width: 400px;
		margin-top: 0px;
		position: relative;
		top: 0px;
	}
	div#main div.buttons_tabs_container
	{
		width: 400px;
		margin: 20px auto 0px;
		padding-bottom: 20px;
		position: relative;
		left: 0px;
	}	
	div#main div.buttons_tabs_container div.tabs
	{
		width: 385px;
		margin-left: 0px;
	}

	div.obituary,
	div.images,
	div.guestbooks,
	div.donations,
	div.livestream_videos,
	div.acknowledgements
	{
		min-width: 368px;
		width: 368px;
	}
	div.livestream_videos
	{
		min-width: 400px;
		width: 400px;
		padding: 0px;
	}

	div#main div.portrait
	{
		width: 400px;
	}
	div#main div.portrait.center,
	div#main div.portrait.left,
	div#main div.portrait.right
	{
	  position: relative;
	  bottom: 210px;
	  text-align: center;
	  margin: auto;
	}

	div#main div.portrait.center img,
	div#main div.portrait.right img,
	div#main div.portrait.left img
	{
	  position: absolute;
	  margin: auto;
	  left: 0px;
	  right: 0px;
	  bottom: 0px;
	}

}
/*

Planned Changes

Make Media page Flex Fill images
Throw Lightbox in there for larger view and slideshow

*/
