html {
	/* Ask browser to maintain a minimum rendered width/height to prevent odd squishing of the page. */
	/* Users can still make their browser window smaller, but the rendered content won't be squished. */
	min-width: 640px;
	min-height: 360px;
	
	/* Pretty fonts by default. */
	font-family: segoe ui, trebuchet ms, tahoma, arial, serif;
	color: #332;
}

#background {
	z-index: -1000;                           /* Makes sure our div stays behind everything else. */
	position: fixed;                          /* Remove ourself from the rest of the document flow. */
	left: 0; right: 0; bottom: 0; top: 0;     /* The background covers the entirety of the view. */

	background-image: url(body-bg.jpg);       /* The background image is designed to fit the full size of the page. */
	background-size: cover;                   /* This ensures that the background photo will be scaled when the view is resized. */
	background-repeat: no-repeat;             /* Background is a photo, tiling it will not look good. */
	background-color: white;                  /* Matches the entire top of the background image. */
}

#menu {
	position: absolute;                       /* Place ourselves at the top of the screen (without breaking flow) */
	left: 0; right: 0; top: 0;                /* Place ourselves at the top of the screen (without breaking flow) */
	text-align: center;				          /* Makes sure menu items are centered on the menu.  It looks pretty!  */
	background-image: url(menu-bg.png);       /* Durr. */
	height: 100px;							  /* Set this to the exact of your image. */
	padding: 10px;                            /* This should probably be 0, but you can add padding if you prefer. */
	background-repeat: no-repeat;             /* This shouldn't be necessary.  Make sure the "height" matches the image... */
	background-size: cover;                   /* ... and in case it doesn't match, then we'll stretch it to avoid seams. */
	vertical-align: middle;
}

.menu-item {
	display: inline-block;                    /* "Inline" can't be resized, and "block" forces items into document flow blocks.  Inline-block works great for these situations.  */
	height: 100px;  width: 100px;             /* All menu items consist of images that are all 100px by 100px. */
	cursor: pointer;                          /* This helps clarify that the menu items can be clicked on.  */
	margin: 0 25px 0 25px;                    /* Adds some space between menu items to reduce visual clutter. */
}

#menu-info {            background-image: url(menu-icon-info-b.png);       }
#menu-info:hover {      background-image: url(menu-icon-info.png);         }

#menu-photo {           background-image: url(menu-icon-photos-b.png);     }
#menu-photo:hover {     background-image: url(menu-icon-photos.png);       }

#menu-music {           background-image: url(menu-icon-music-b.png);      }
#menu-music:hover {     background-image: url(menu-icon-music.png);        }

#menu-cremation {       background-image: url(menu-icon-cremation-b.png);  }
#menu-cremation:hover { background-image: url(menu-icon-cremation.png);    }

#login {
	background-image: url(code-entry.png);    /* Durr. */
	padding: 40px;                            /* If your image has (transparent) borders, set the size of those borders here. */
	width: 560px;  height: 280px;             /* Set to image w/h but SUBTRACT twice the "padding" value, ie 640px with 40px padding is 640-(2*40) = 560. */
	
	/* This won't perfectly align it in the center of the screen, but it'll do... */
	position: fixed;
	margin-left: auto;
	margin-right: auto;
	left: 0; right: 0;  bottom: 40%;
	
}

#login p {
	width: 450px;                              /* Prevents running into the corner flourishes */
}

#login-input {
	position: absolute;
	left: 145px;
	width: 350px;
	top: 250px;
	font-size: 200%;
	border: 0;
	height: 50px;
	background: rgba(250,250,250,0.25);
}
#login-submit {
	position: absolute;
	left: 535px;
	top: 250px;
	height: 50px;
	width: 50px;
	border: default;
	
}

#full-content {
	position: absolute;
	top: 125px;
	left: 10px;
	right: 10px;
}

#photo-list {
	min-width: 440px;
	padding: 50px;                            /* It looks much better when things are more centered instead of squished to all sides. */
	padding-top: 100px;                        /* Top padding needs to be increased for "download all" button */
}
.photo-container {
	width: 110px; height: 110px;              /* Make sure all the blocks align nicely. */
	overflow: hidden;                         /* This prevents odd cases that ruins the display by misplacing the div when its content exceeds its size  */
	margin: 10px;
	text-align: center;
	line-height: 110px;
	vertical-align: middle;
	position: relative;
	display: inline-block;
}
.photo-item {
  box-shadow: 5px 5px 5px #333;
}
.helper {
	display: inline;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.hidden-by-default {
	display: none;
}
#photo-large-container {
	z-index: 1000;                            /* Makes sure this div appears on top of everything else. */
	position: fixed;                          /* Remove ourself from the rest of the document flow. */
	left: 0; right: 0; bottom: 0; top: 0;     /* The background covers the entirety of the view. */
	background-size: cover;                   /* This ensures that the background photo will be scaled when the view is resized. */
	background-repeat: no-repeat;             /* Background is a photo, tiling it will not look good. */
	background-color: rgba(125,125,125,0.75); /* Gives a neat effect that semi-hides the rest of the page. */
}
#photo-arrow-l {
	cursor: pointer;
	position: fixed;
	left: 0px;
	top: 45%;
	width: 100px;  height: 100px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url('arrow-left.png');
}
#photo-arrow-r {
cursor: pointer;
	position: fixed;
	right: 0px;
	top: 45%;
	width: 100px;  height: 100px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url('arrow-right.png');
}
#photo-download {
	cursor: pointer;
	font-family: tahoma, trebuchet ms, arial, serif;
	font-size: 125%;
	color: #231;
	line-height: 50px;
	position: fixed;
	margin-left: 50%;
	margin-right: 50%;
	left: -125px;
	bottom: 10px;
	width: 250px;  height: 50px;
	text-align: center;
	background-color: #5e2;
	border-radius: 5px;
	border-top: 3px solid #af6;
	border-left: 3px solid #af6;
	border-bottom: 2px solid #3d2;
	border-right: 2px solid #3d2;
}
#photo-download:hover {
	background-color: #6f3;
}
#photo-download-all {
	margin-top: 25px;
	position: absolute;
	cursor: pointer;
	font-family: tahoma, trebuchet ms, arial, serif;
	font-size: 125%;
	color: #464542;
	line-height: 50px;
	margin-left: 50%;
	margin-right: 50%;
	left: -200px;
	width: 400px;  height: 50px;
	text-align: center;
	background-color: #d2c09b;
	border-radius: 10px;
	border-top: 3px solid #eae0ca;
	border-left: 3px solid #eae0ca;
	border-bottom: 2px solid #c3beb4;
	border-right: 2px solid #c3beb4;
}
#photo-download-all:hover {
	background-color: #e3d1ac;
}
#photo-large {
	width: 100%; height: 100%;                /* Make the photo cover the entirety of the view. */
	background-repeat: no-repeat;             /* Don't tile the photo.  That looks silly.  */
	background-position: center center;       /* Center the image in the view */
	background-size: contain;
}
#photo-hidden-loader {
	position: fixed;
	top: 0;  left: 0;
	width: 0; height: 0;
}

.sidebar-adj-normal {
	position: fixed;
	top: 120px;
	left: 400px;
	right: 0px;
	bottom: 0px;
}
.sidebar-adj-expanded {
	position: fixed;
	top: 120px;
	left: 50px;
	right: 0px;
	bottom: 0px;
}
#crem-video {
	width: 100%;
	height: 100%;
}
#sidebar-button {
	position: fixed;
	top: 45%;
	left: 0px;
	width: 50px;
	height: 50px;
	background-image: url(foldable-left.png);
	cursor: pointer;
}
.sidebar-shown {
	background: rgba(200,200,200,0.75);
	position: fixed;
	padding: 25px 50px 25px 50px;
	left: 0;
	top: 120px;
	bottom: 0;
	width: 300px;
	text-align: justify;
	text-justify: inter-word;
	overflow: auto;
}
.sidebar-shown p {
	margin: 0;
}
.sidebar-shown p:last-child {
	margin-bottom: 25px;
}
.sidebar-shown h3 {
	margin: 25px 0 0 0;
}
.sidebar-folded {
	background: rgba(200,200,200,0.5);
	background-image: url(folded.png);
	position: fixed;
	left: 0;
	top: 120px;
	bottom: 0;
	width: 50px;
	overflow: hidden;
}
.sidebar-folded * {
	display: none;
}
.sidebar-folded #sidebar-button {
	display: block;
	background-image: url(foldable-right.png);
}




#music-download-all {
	margin-top: 25px;
	position: absolute;
	cursor: pointer;
	font-family: tahoma, trebuchet ms, arial, serif;
	font-size: 125%;
	color: #464542;
	line-height: 50px;
	margin-left: 50%;
	margin-right: 50%;
	left: -200px;
	width: 400px;  height: 50px;
	text-align: center;
	background-color: #d2c09b;
	border-radius: 10px;
	border-top: 3px solid #eae0ca;
	border-left: 3px solid #eae0ca;
	border-bottom: 2px solid #c3beb4;
	border-right: 2px solid #c3beb4;
}
.music-download-box {
	display: block;
	background-image: url(music-box.png);
	background-repeat: no-repeat;
	width: 640px;
	height: 150px;
	overflow: hidden;
	padding-left: 135px;
	margin: 25px 0 25px 0;
}
.music-download-box h1 {
	margin: 35px 0 0 0;
	font-size: 165%;
	letter-spacing: -1px;
}
.music-download-box p {
	font-size: 150%;
	letter-spacing: 2px;
	margin: 0;
}
.music-download-button {
	display: inline-block;
	position: absolute;
	margin-top: 25px;
	margin-left: -110px;
	background-repeat: no-repeat;
	background-image: url('music-download-b.png');
	padding: 0;
	width: 100px;
	height: 100px;
	cursor: pointer;
}
.music-download-button:hover {
	background-image: url('music-download.png');
}
#music-list {
	margin: auto;
	width: 640px;
	padding: 50px;                            /* It looks much better when things are more centered instead of squished to all sides. */
	padding-top: 100px;                        /* Top padding needs to be increased for "download all" button */
	text-align: left;
}



#welcome-clouds {
	margin: auto;
	width: 1280px;
	height: 720px;
	background-image: url('welcome-clouds.png');
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

#welcome-text {
	margin: auto;
	margin-top: 160px;
	width: 640px;
	height: 400px;
	background-image: url('welcome-text.png');
	background-repeat: no-repeat;
	background-size: cover;
}
