﻿@charset "UTF-8";

/* ----------------------------------------------------- */

/* GENERAL STYLES
/* ----------------------------------------------------- */
html {
	font-size: 16px;
}

@font-face {
	font-family: 'open_sansregular';
	src: url('../fonts/OpenSans-Regular-webfont.eot');
	src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'), url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'roboto_condensedregular';
	src: url('../fonts/RobotoCondensed-Regular-webfont.eot');
	src: url('../fonts/RobotoCondensed-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/RobotoCondensed-Regular-webfont.woff') format('woff'), url('../fonts/RobotoCondensed-Regular-webfont.ttf') format('truetype'), url('../fonts/RobotoCondensed-Regular-webfont.svg#roboto_condensedregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

body {
	font-size: 100%; /* flexible baseline font size */
	font-family: "open_sansregular", sans-serif;
	background-color: #F5F5F5;
}

.content {
	max-width: 640px;
	margin: auto;
}

.photoViewerTitle {
  text-align: center;
  margin-bottom: 20px;
}
.photoViewerTitle h1 {
  font-family: "roboto_condensedregular", sans-serif;
  color: #516B6B;
  font-size: calc(16px + 1.5vw); /* Fluid font size for smaller screens */
  line-height: 1.3; /* Adjust the line height to improve readability */
  margin: 0;
  padding: 0;
  white-space: nowrap; /* Keep text on a single line */
  overflow: hidden; /* Hide text that overflows the container */
  text-overflow: ellipsis; /* Add ellipsis to text that overflows the container */
}
@media screen and (min-width: 768px) {
  .photoViewerTitle h1 {
    font-size: calc(22px + 1vw); /* Fluid font size for larger screens */
  }
}
@media screen and (min-width: 1920px) {
  .photoViewerTitle h1 {
    font-size: 42px; /* Fixed font size for screen widths of 1920 or above */
  }
}

.disclaimer {
  font-family: "roboto_condensedregular", sans-serif;
  color: #BB1100;
  font-size: calc(12px + 1vw); /* Adjusted font size calculation for smaller screens */
  line-height: 1.5; /* Increased line height to improve differentiation between lines */
  margin: 0 auto; /* Auto margins on left and right for center alignment */
  padding: 0;
  max-width: 90%; /* Set max-width to prevent the content from touching the edges on smaller screens */
}
.disclaimer ul {
  list-style-type: none;
  padding: 0;
}
.disclaimer li {
  margin-bottom: 6px;
  padding-left: 18px;
  position: relative;
}
.disclaimer li::before {
  content: '●';
  left: 0;
  position: absolute;
  font-size: inherit; /* Set bullet font size to match the text content font size */
}
@media screen and (min-width: 768px) {
  .disclaimer {
    font-size: calc(14px + 0.5vw); /* Adjusted font size for 810px screen width */
  }
}
@media screen and (min-width: 1920px) {
  .disclaimer {
    font-size: 0.917em; /* Fixed font size for screen widths of 1920 or above */
  }
}

.responsive {
	width: 100%;
	height: auto;
}

.img-center {
	display: block;
	margin: 0 auto;
	padding: 10px;
}

.center-photo {
	display: block;
	margin: 0 auto;
	padding: 10px;
	border-radius: 0 0 20px 20px;
}

.wide-margins,
.disclaimer-container {
	margin: 0 auto;
	max-width: 972px;
	padding-left: 20px;
	padding-right: 20px;
}

#main {
	display: -webkit-flex; /* Safari */
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	margin: 0 auto;
	min-height: 50px;
	align-items: center;
}

hr {
	border: 0;
	height: 1px;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

/* Safari 6.1+ */
#main div:nth-of-type(1) {-webkit-flex-grow: 1;}
#main div:nth-of-type(2) {-webkit-flex-grow: 3;}
#main div:nth-of-type(3) {-webkit-flex-grow: 1;}

/* Standard syntax */
#main div:nth-of-type(1) {flex-grow: 1;}
#main div:nth-of-type(2) {flex-grow: 3;}
#main div:nth-of-type(3) {flex-grow: 1;}

.photoViewerSubTitle {
	text-align: center;
}
.photoViewerSubTitle h2 {
	font-size: 16px;
	font-family: "roboto_condensedregular", sans-serif;
	font-weight: 600;
	color: #BB1100;
	padding-top: 0px;
	padding-bottom: 0px;
}

h3 {
	font-size: 1.3em;
}
@media screen and (max-width: 50em) {
		h3 {
		font-size: 0.875em;
    }
}
@media screen and (max-width: 40em) {
   	h3 {
        font-size: 0.75em;
    }
}
@media screen and (max-width: 30em) {
    h3 {
        font-size: 0.667em;
    }
}

p {
    font-size: 0.9em;
}

@media screen and (max-width: 50em) {
    p {
        font-size: 0.7em;
    }
}
@media screen and (max-width: 40em) {
    p {
        font-size: 0.6em;
    }
}
@media screen and (max-width: 30em) {
    p {
		font-size: 0.5em;
    }
}

.photoID {
	font-family: "roboto_condensedregular", sans-serif;
	font-size: 1em;
	font-weight: 300;
	color: #FFF;
	text-align: center;
	background-image: linear-gradient(#888888, #444444);
	padding-top: 6px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 6px;
	border-radius: 0 0 20px 20px; /* top-left corner, top-right corner, bottom-right corner, bottom-left corner */
	text-shadow: 1px 1px #000;
}
@media screen and (max-width: 50em) {
	.photoID {
		font-family: "roboto_condensedregular", sans-serif;
		font-size: 0.9em;
		font-weight: 300;
		color: #FFF;
		text-align: center;
		background-image: linear-gradient(#888888, #444444);
		padding-top: 6px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 6px;
		border-radius: 0 0 20px 20px; /* top-left corner, top-right corner, bottom-right corner, bottom-left corner */
		text-shadow: 1px 1px #000;
	}
}
@media screen and (max-width: 40em) {
	.photoID {
		font-family: "roboto_condensedregular", sans-serif;
		font-size: 0.8em;
		font-weight: 300;
		color: #FFF;
		text-align: center;
		background-image: linear-gradient(#888888, #444444);
		padding-top: 5px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 5px;
		border-radius: 0 0 20px 20px; /* top-left corner, top-right corner, bottom-right corner, bottom-left corner */
		text-shadow: 1px 1px #000;
	}
}
@media screen and (max-width: 30em) {
	.photoID {
		font-family: "roboto_condensedregular", sans-serif;
		font-size: 0.7em;
		font-weight: 300;
		color: #FFF;
		text-align: center;
		background-image: linear-gradient(#888888, #444444);
		padding-top: 4px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 4px;
		border-radius: 0 0 20px 20px; /* top-left corner, top-right corner, bottom-right corner, bottom-left corner */
		text-shadow: 1px 1px #000;
	}
}

.shadeLabel {
	text-align: left;
}
.shadeLabel h3 {
	font-family: "roboto_condensedregular", sans-serif;
	font-weight: 500;
	color: #FFF;
	border-radius: 20px;
	background: black;
	padding-top: 20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
}
@media screen and (max-width: 50em) {
	.shadeLabel h3 {
		font-family: "roboto_condensedregular", sans-serif;
		font-weight: 500;
		color: #FFF;
		border-radius: 20px;
		background: black;
		padding-top: 20px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
	}
}
@media screen and (max-width: 40em) {
	.shadeLabel h3 {
		font-family: "roboto_condensedregular", sans-serif;
		font-weight: 500;
		color: #FFF;
		border-radius: 20px;
		background: black;
		padding-top: 15px;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 15px;
	}
}
@media screen and (max-width: 30em) {
	.shadeLabel h3 {
		font-family: "roboto_condensedregular", sans-serif;
		font-weight: 500;
		color: #FFF;
		border-radius: 20px;
		background: black;
		padding-top: 10px;
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
	}
}
.smalltxt {
	font-size: 0.75em;
}
@media screen and (max-width: 50em) {
	.smalltxt {
	font-size: 0.75em;
	}
}
@media screen and (max-width: 40em) {
	.smalltxt {
	font-size: 0.75em;
	}
}
@media screen and (max-width: 30em) {
	.smalltxt {
	font-size: 0.75em;
	}
}

.img-corners {
	border-radius: 20px 20px 0 0; /* top-left corner, top-right corner, bottom-right corner, bottom-left corner */
}

.photo-width {
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;  
	max-width: 640px;
	padding: 10px;
}
.photo-width100 {
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;  
	max-width: 100%;
	padding: 20px;
}
.photoDescription {
	font-size: 18px;
	color: #000;
	font-weight: 500;
	padding-bottom: 20px;
}

/* Photo Viewer CSS */
* {
	box-sizing: border-box;
}

.row > .columnA {
	padding: 8px 8px; /* controls padding between photos on page (was 0 8px) */
}

.row > .columnA2 {
	padding: 8px 8px; /* controls padding between photos on page (was 0 8px) */
}

.row:after {
	content: "";
	display: table;
	clear: both;
}

.columnA {
	float: left;
	width: 33.3%; /* controls size of photos on page (25% will fit 3 photos perfectly) */
}
.columnA2 {
	float: left;
	width: 50.0%; /* controls size of photos on page (50.0% will fit 2 photos perfectly) */
}
.columnB {
	float: left;
	width: 12.5%; /* controls size of photos on page (12.5% will fit 8 photos perfectly) */
}

/* The Modal (background) */
.modal {
	display: none;
	position: fixed;
	z-index: 1;
	padding-top: 25px; /* controls padding above active photo in view mode */
	left: 0;
	top: 0;
	width: 100%; /* keep at 100% */
	height: 100%; /* keep at 100% */
	overflow: auto;
	background-color: black;
}

/* Modal Content */
.modal-content {
	position: relative;
	background-color: black; /* controls background color behind active photo in view mode */
	margin: auto;
	padding: 0;
	width: 95%; /* controls width of XXX (was 90%) */
	max-width: 1200px;
}

/* The Close Button */
.close {
	color: white;
	position: absolute;
	top: 10px;
	right: 25px;
	font-size: 35px;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: #999;
	text-decoration: none;
	cursor: pointer;
}

.mySlides {
	display: none;
}

.cursor {
	cursor: pointer;
}

/* Next & previous buttons */
.prev,
.next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	padding: 16px;
	margin-top: -50px;
	color: white;
	font-weight: bold;
	font-size: 20px;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	-webkit-user-select: none;
}

/* Position the "next button" to the right */
.next {
	right: 0;
	border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
	background-color: rgba(0, 0, 0, 0.8);
}

/* Number text (1/3 etc) */
.numbertext {
	color: #f2f2f2;
	font-size: 12px;
	padding: 8px 12px;
	position: absolute;
	top: 0;
}

img {
	margin-bottom: -4px;
}

.caption-container {
	text-align: center;
	background-color: black;
	padding: 2px 16px;
	color: white;
}

.demo {
	opacity: 0.6;
}

.active,
.demo:hover {
	opacity: 1;
}

img.hover-shadow {
	transition: 0.3s;
}

.hover-shadow:hover {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/* Code for 'Pure CSS Button' */
.button-container {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 27px 27px;
}
.button {
	background-image: linear-gradient(yellow, red);
	font-size: 1.3vw;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-weight: 500;
	color: #F5F5F5;
	text-decoration: none;
}
.button a:link {
	background-image: linear-gradient(yellow, red);
	font-size: 1.3vw;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-weight: 500;
	color: #F5F5F5;
	text-decoration: none;
	border: 1px solid red;
	border-radius: 8px;
	padding: 10px 24px;	
}
.button a:visited {
	background-image: linear-gradient(yellow, red);
	font-size: 1.3vw;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-weight: 500;
	color: #F5F5F5;
	text-decoration: none;
	border: 1px solid red;
	border-radius: 8px;
	padding: 10px 24px;
}
.button a:hover {
	background-image: linear-gradient(red, yellow);
	font-size: 1.3vw;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-weight: 500;
	color: #FFF;
	text-decoration: none;
	border: 1px solid red;
	border-radius: 8px;
	padding: 10px 24px;
}
.button a:active {
	background-image: linear-gradient(red, yellow);
	font-size: 1.3vw;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-weight: 500;
	color: #FFF;
	text-decoration: none;
	border: 1px solid red;
	border-radius: 8px;
	padding: 10px 24px;
}
