/* work-sans-regular - latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Work Sans'), local('WorkSans-Regular'),
       url('fonts/work-sans-v5-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/work-sans-v5-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* work-sans-700 - latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Work Sans Bold'), local('WorkSans-Bold'),
       url('fonts/work-sans-v5-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/work-sans-v5-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/open-sans-v17-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* libre-baskervill-regular */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/LibreBaskerville-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/LibreBaskerville-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}

/* libre-baskervill-700 */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/LibreBaskerville-Bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/LibreBaskerville-Bold.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}

/* pt-serif-regular */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/PTSerif-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/PTSerif-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}

/* pt-serif-700 */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/PTSerif-Bold.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/PTSerif-Bold.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  font-display: swap;
}

body {
	padding: 0px;
	margin: 0px;
	background: #ededed url(bg_texture_v2.png) repeat;
	/* background: #f4f4f5; */

	min-height: 100vh;
	height: auto;
	position: relative;

	box-sizing: border-box;
}

body.overflow_hidden, 
body.display_modal {
	overflow: hidden;
	position: relative;
}

a:link, a:visited {
	color: #311818;
}

a:hover {
	color: #da2f13;
	transition: color .15s ease-out;
}

span.anchor {
	position: relative;
}

/* Page content container */
#page_container {
	max-width: 1000px;
	min-width: 228px;
	margin: 0 auto;
	padding: 55px 40px 55px 40px;
}

.content_box {
	position: relative;
	margin-top: 26px;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: .01em;
	line-height: 1.6em;
	text-align: left;
	color: #311818;
	/* contain: content; */
}

.content_split:nth-of-type(2n+1) { 
	width: 50%; 
	float: left; 
	border-right: 2px #ffffff solid;
	padding: 0 2.5% 0 0;
	box-sizing: border-box;
}

.content_split:nth-of-type(2n) { 
	width: 50%; 
	float: left; 
	padding: 0 0 0 2.5%;
	box-sizing: border-box;
}

.content_box h1, 
.content_box h2, 
.content_box h3, 
.content_box h4 {
	font-family: 'Libre Baskerville', sans-serif;
	font-weight: 700;
}

.content_box h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

.content_box h2 {
	font-size: 1.5em;
	margin: 0.83em 0;
}

.content_box h3 {
	font-size: 1.17em;
	margin: 1em 0;
}

.content_box h4 {
	font-size: 1em;
	margin: 1em 0;
}

.col-1-2 { width: 50%; float: left; }
.col-1-3 { width: 33.33%; float: left; }
.col-1-4 { width: 25%; float: left; }
.col-1-5 { width: 20%; float: left; }

.col-1-2-3 { width: 33.33%; float: left; }
.col-2-2-3 { width: 66.66%; float: left; }

.col-1-2:nth-of-type(2n+1), 
.col-1-3:nth-of-type(3n+1), 
.col-1-4:nth-of-type(4n+1), 
.col-1-5:nth-of-type(5n+1) {
	/* background: #f003; */
	clear: both;
}

.coltorow-1-2, .coltorow-1-3, .coltorow-1-4 {
	width: 100%;
	float: none;
	clear: both;
}

.clearmargin100 {
	margin: 0 0;
}
.clearpadding100 {
	padding: 0 0;
}

.fixmargins > p:first-child, 
.fixmargins > h1:first-child, 
.fixmargins > h2:first-child, 
.fixmargins > h3:first-child {
	margin-top: 0;
}
/*
.fixmargins :first-child {
	margin-top: 0;
}
.fixmargins :last-child {
	margin-bottom: 0;
}
*/
.coltorow-3-margins {
	margin: 1.3em 0;
}

.col-3-margins {
	margin: 3.33%;
}
.col-1-3:nth-of-type(3n+1) .col-3-margins {
	margin: 0 4.44% 0 0;
}
.col-1-3:nth-of-type(3n+2) .col-3-margins {
	margin: 0 2.22% 0 2.22%;
}
.col-1-3:nth-of-type(3n) .col-3-margins {
	margin: 0 0 0 4.44%;
}

.col-5-margins {
	margin: 2.22%;
}
/*
.col-1-5:nth-of-type(5n+1) .col-5-margins {
	margin: 0 4.44% 0 0;
}
.col-1-5:nth-of-type(5n+2) .col-5-margins,
.col-1-5:nth-of-type(5n+3) .col-5-margins,
.col-1-5:nth-of-type(5n+4) .col-5-margins {
	margin: 0 2.22% 0 2.22%;
}
.col-1-5:nth-of-type(5n) .col-5-margins {
	margin: 0 0 0 4.44%;
}
*/
@media screen and (max-width: 768px) {
	.col-1-2-3, .col-2-2-3 {
		width: 100% !important;
		float: none;
		clear: both !important;
	}
	.col-1-3 {
		width: 50%;
	}
	.col-1-4 {
		width: 33.33%;
	}
	.col-1-5 {
		width: 25%;
	}
	.col-1-3:nth-of-type(3n+1), 
	.col-1-4:nth-of-type(4n+1), 
	.col-1-5:nth-of-type(5n+1) {
		/* background: transparent; */
		clear: none;
	}
	.col-1-3:nth-of-type(2n+1), 
	.col-1-4:nth-of-type(3n+1), 
	.col-1-5:nth-of-type(4n+1) {
		/* background: #f003; */
		clear: both;
	}
	.coltorow-1-2 {
		width: 50%;
		float: left;
		clear: none;
	}
	.coltorow-1-3 {
		width: 33.33%;
		float: left;
		clear: none;
	}
	.coltorow-1-4 {
		width: 25%;
		float: left;
		clear: none;
	}
	.coltorow-1-2:nth-of-type(2n+1), 
	.coltorow-1-3:nth-of-type(3n+1), 
	.coltorow-1-4:nth-of-type(4n+1) {
		/* background: #f003; */
		clear: both;
	}
	#page_container {
		padding: 60px 20px 20px 20px;
	}
	.col-1-2-3 .clearmargin100, 
	.col-2-2-3 .clearmargin100 {
		margin: 0 !important;
	}
	.col-1-2-3 .clearpadding100, 
	.col-2-2-3 .clearpadding100 {
		padding: 0 !important;
	}
	.coltorow-3-margins {
		margin: 3.33%;
	}
	.coltorow-1-3:nth-of-type(3n+1) .coltorow-3-margins {
		margin: 3.33% 4.44% 3.33% 0;
	}
	.coltorow-1-3:nth-of-type(3n+2) .coltorow-3-margins {
		margin: 3.33% 2.22%;
	}
	.coltorow-1-3:nth-of-type(3n) .coltorow-3-margins {
		margin: 3.33% 0 3.33% 4.44%;
	}
	.col-1-3:nth-of-type(2n+1) .col-3-margins {
		margin: 0 3.33% 6.66% 0;
	}
	.col-1-3:nth-of-type(2n) .col-3-margins {
		margin: 0 0 6.66% 3.33%;
	}
/*
	.col-1-5:nth-of-type(4n+1) .col-5-margins {
		margin: 0 4.44% 0 0;
	}
	.col-1-5:nth-of-type(4n+2) .col-5-margins,
	.col-1-5:nth-of-type(4n+3) .col-5-margins {
		margin: 0 2.22% 0 2.22%;
	}
	.col-1-5:nth-of-type(4n) .col-5-margins {
		margin: 0 0 0 4.44%;
	}
*/
}

@media screen and (max-width: 744px) {
	.content_split:nth-of-type(2n+1) { 
		width: 100%;
		float: none;
		clear: both !important;
		margin-top: 26px;
		padding: 0 0 26px 0;
		border-right: 0px;
		border-bottom: 2px #ffffff solid;
	}
	.content_split:nth-of-type(2n) { 
		width: 100%;
		float: none;
		clear: both !important;
		margin-top: 26px;
		padding: 0 0 0 0;
	}
}

@media screen and (max-width: 512px) {
	.col-1-2, .col-1-3 {
		width: 100%;
		float: none;
		clear: both !important;
	}
	.col-1-4 {
		width: 50%;
	}
	.col-1-5 {
		width: 33.33%;
	}
	.col-1-2:nth-of-type(2n+1), 
	.col-1-3:nth-of-type(2n+1), 
	.col-1-4:nth-of-type(3n+1), 
	.col-1-5:nth-of-type(4n+1) {
		/* background: transparent; */
		clear: none;
	}
	.col-1-2:nth-of-type(1n), 
	.col-1-3:nth-of-type(1n), 
	.col-1-4:nth-of-type(2n+1), 
	.col-1-5:nth-of-type(3n+1) {
		/* background: #f003; */
		clear: both;
	}
	.coltorow-1-2 {
		width: 100%;
		float: none;
		clear: both !important;
	}
	.coltorow-1-3 {
		width: 50%;
	}
	.coltorow-1-4 {
		width: 33.33%;
	}
	.coltorow-1-2:nth-of-type(2n+1), 
	.coltorow-1-3:nth-of-type(3n+1), 
	.coltorow-1-4:nth-of-type(4n+1) {
		/* background: transparent; */
		clear: none;
	}
	.coltorow-1-2:nth-of-type(1n), 
	.coltorow-1-3:nth-of-type(2n+1), 
	.coltorow-1-4:nth-of-type(3n+1) {
		/* background: #f003; */
		clear: both;
	}
	#page_container {
		padding: 60px 12px 20px 12px;
	}
	.col-1-2 .clearmargin100, 
	.col-1-3 .clearmargin100, 
	.coltorow-1-2 .clearmargin100 {
		margin: 0 !important;
	}
	.col-1-2 .clearpadding100, 
	.col-1-3 .clearpadding100, 
	.coltorow-1-2 .clearpadding100 {
		padding: 0 !important;
	}
	.coltorow-1-3:nth-of-type(2n) .coltorow-3-margins {
		margin: 3.33% 0 3.33% 3.33%;
	}
	.coltorow-1-3:nth-of-type(2n+1) .coltorow-3-margins {
		margin: 3.33% 3.33% 3.33% 0;
	}
	.col-3-margins {
		margin: 1.3em 0 !important;
	}
/*
	.col-1-5:nth-of-type(3n+1) .col-5-margins {
		margin: 0 4.44% 0 0;
	}
	.col-1-5:nth-of-type(3n+2) .col-5-margins{
		margin: 0 2.22% 0 2.22%;
	}
	.col-1-5:nth-of-type(3n) .col-5-margins {
		margin: 0 0 0 4.44%;
	}
*/
}

@media screen and (max-width: 420px) {
	.col-1-4 {
		width: 100%;
		float: none;
		clear: both !important;
	}
	.col-1-5 {
		width: 50%;
	}
	.col-1-4:nth-of-type(2n+1), 
	.col-1-5:nth-of-type(3n+1) {
		/* background: transparent; */
		clear: none;
	}
	.col-1-4:nth-of-type(1n), 
	.col-1-5:nth-of-type(2n+1) {
		/* background: #f003; */
		clear: both;
	}
	.coltorow-1-3 {
		width: 100%;
		float: none;
		clear: both !important;
	}
	.coltorow-1-4 {
		width: 50%;
	}
	.coltorow-1-3:nth-of-type(2n+1), 
	.coltorow-1-4:nth-of-type(3n+1) {
		/* background: transparent; */
		clear: none;
	}
	.coltorow-1-3:nth-of-type(1n), 
	.coltorow-1-4:nth-of-type(2n+1) {
		/* background: #f003; */
		clear: both;
	}
	.col-1-4 .clearmargin100, 
	.coltorow-1-3 .clearmargin100 {
		margin: 0 !important;
	}
	.col-1-4 .clearpadding100, 
	.coltorow-1-3 .clearpadding100 {
		padding: 0 !important;
	}
	.coltorow-3-margins {
		margin: 1.3em 0 !important;
	}
/*
	.col-1-5:nth-of-type(2n+1) .col-5-margins {
		margin: 0 4.44% 0 0;
	}
	.col-1-5:nth-of-type(2n) .col-5-margins {
		margin: 0 0 0 4.44%;
	}
*/
}

@media screen and (max-width: 340px) {
	#page_container {
		padding: 60px 6px 14px 6px;
	}
}

.divider {
	background-color: #625050;
	height: 1px;
	margin-top: 26px;
	clear: both;
}

/* Top navicaton bar */
#navbar_container {
	/* display: flex; */
	/* flex-wrap: nowrap; */
	padding-bottom: 20px;
	/* border-bottom: 2px solid #ffffff; */
}

.navbar {
	/* display: inline; */
	/* float: left; */
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.navbar li {
	display: inline;
	/* float: left; */
	margin: 0 7px;
}

.navbar a {
	display: inline-block;
	/* float: left; */
	padding: 10px 16px 10px 16px;
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1em;
	text-decoration: none;
	/* text-transform: uppercase; */
	color: #311818;
	background-color: #f4f4f4;
	background-color: #f0f0f0;
	border-radius: 22px;
	height: 1em;
	overflow: visible;
}

.navbar .schedule {
	float: right;
}

.navbar .schedule a {
	padding: 7px 16px 7px 12px;
	color: white;
	/* background-color: #94a693; */
	background-color: #afbfa5;
	border-radius: 18px;
	letter-spacing: 0.01em;
	border: 1px solid #767974;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
}

.navbar .schedule a::before {
	content: " ";
	display: inline;
	padding-left: 22px;
	background: url(calendar-36x36.png) no-repeat;
	background-size: 19px;
	background-position: center left;
}

.navbar .external a::after, 
.navbar a[target="_blank"]::after {
	content: " ";
	display: inline;
	padding-right: 24px;
	background: url(external-36x36.png) no-repeat;
	background-size: 18px;
	background-position: top 3px right 0;
}

.navbar .dropdown a::after {
	content: " ";
	display: inline;
	padding-right: 18px;
	background: url(dropdown_arrow.png) no-repeat;
	background-size: 12px;
	background-position: top 8px right 0;
}

.navbar .navbar_dropdown {
	position: absolute;
	z-index: -1;
	display: block;
	visibility: hidden;
	margin-top: 0px;
	padding: 6px;
	background-color: white;
	opacity: 0;
	border-radius: 4px;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.25);
	transition: visibility .250s, 
				opacity .250s,
				z-index .250s;
}

.navbar .dropdown:hover .navbar_dropdown, 
.navbar .navbar_dropdown:hover {
	display: block;
	visibility: visible;
	z-index: 1000;
	opacity: .96;
	transition: opacity .250s;
}

.navbar .dropdown:focus-within .navbar_dropdown, 
.navbar .navbar_dropdown:focus-within {
	display: block;
	visibility: visible;
	z-index: 1000;
	opacity: .96;
	transition: opacity .250s;
}

.navbar_dropdown li {
	display: block;
	float: none;
}

.navbar_dropdown a {
	padding: 12px;
}

.navbar a:link, 
.navbar a:visited {
	color: #311818;
}

.navbar a:hover, 
.navbar a:active, 
.navbar a:focus {
/*	padding: 9px 15px 9px 15px;
	border-right: 1px #ffffff solid; */
	text-shadow: 0px 0px 4px #ffffff;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.25);
	transition: box-shadow .12s ease-in-out;
}
/*
.navbar :not(.dropdown):not(.schedule) a::after {
	content: " ";
	display: block;
	position: relative;
	top: 0px;
	height: 0px;
	transition: box-shadow .20s ease-in-out, 
				height .20s linear, 
				top .20s linear, 
				background-color .20s ease-in-out;
}

.navbar :not(.dropdown):not(.schedule) a:hover::after, 
.navbar :not(.dropdown):not(.schedule) a:active::after, 
.navbar :not(.dropdown):not(.schedule) a:focus::after {
	height: 2px;
	top: 4px;
	background-color: #311818;
	box-shadow: 2px 2px 3px #ffffff;
}
*/
.navbar a.active_page::after {
	/* content: none; */
	height: 2px;
	top: 4px;
	background-color: #311818;
}

/* Header for mobile */
#mobile_container {
	display: none;
}

#mobile_overlay {
	position: fixed;
	top: 0;
	width: 100%;
	/* height: 100%; */
	max-height: 95%;
	z-index: 666;
	/* display: none; */
	box-shadow: 0px 1px 3px rgba(0,0,0,0.2);
	overscroll-behavior: contain;
}

#mobile_header {
	background-color: #ffffff;
	height: 60px;
	min-width: 240px;
	vertical-align: middle;
}

.header_title {
	position: absolute;
	top: 12px;
	left: 18px;
	right: 60px;
	font-family: 'PT Serif', sans-serif;
	/* font-family: 'Libre Baskerville', sans-serif; */
	font-weight: 400;
	font-size: 1.666em;
	letter-spacing: .08em;
	color: #311818;
	text-transform: uppercase;
	overflow: hidden;
	/* background-color: beige; */
}

.header_button_container {
	/* float: right; */
	/* padding: 10px 18px 10px 10px; */
}

.header_menu_button {
	position: absolute;
	top: 10px;
	right: 18px;
	height: 40px;
	width: 40px;
	border-radius: 10px;
	cursor: pointer;
	background: url(hamburger.png) center no-repeat;
	background-color: #ffffff;
	background-clip: content-box;
}

.header_menu_button:hover, 
.header_menu_button[data-menu-open="1"], 
.menu_display .header_menu_button {
	/* background-position: right top; */
	background-color: #eaeaea;
	transition: background-color .25s ease-out;
}

@media screen and (max-width: 820px) {
	#navbar_container {
		display: none;
	}
	#mobile_container {
		display: block;
	}
	span.anchor {
		top: -60px;
	}
}

@media screen and (max-width: 280px) {
	#mobile_overlay {
		overflow-x: scroll;
	}
	.header_title {
		font-size: 1.4em;
		top: 15px;
		left: 14px;
	}
	.header_menu_button {
		right: 14px;
	}
}

@media screen and (max-height: 420px) {
	#mobile_overlay {
		overflow-y: scroll;
	}
}

/* Mobile navicaton menu */
#navmenu_container {
	background-color: #ffffff;
	overflow: hidden;
	text-align: center;
	padding: 0;
	min-width: 240px;
	max-height: 0px;
	/* height: 0px; */
	visibility: hidden;
	transition: visibility .250s, 
				max-height .250s ease-out, 
				padding .250s;
}

.menu_display #navmenu_container {
	padding: 10px 0 30px 0;
	max-height: 245px;
	height: auto;
	visibility: visible;
	transition: max-height .250s ease-out, 
				padding .250s;
}

@media screen and (max-height: 420px) {
	.menu_display #navmenu_container {
		padding: 0 0 20px 0;
	}
}

#content_overlay {
	background-color: rgba(128,128,128,0.125);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	/* display: none; */
	visibility: hidden;
	opacity: 0;
	transition: visibility .250s, 
				z-index .250s, 
				opacity .250s;
}

#content_overlay.display_overlay {
	z-index: 555;
	/* display: block; */
	visibility: visible;
	opacity: 1.0;
	transition: opacity .250s;
}

.navmenu  {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.navmenu  li {
	display: block;
	padding: 2px 0;
}

.navmenu  a {
	display: inline-block;
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1em;
	text-decoration: none;
	color: #311818;
	height: 1em;
	padding: 6px 10px 6px 10px;
	border: 2px dotted transparent;
	border-radius: 18px;
	overflow: visible;
}

.navmenu .schedule a {
	padding: 7px 16px 7px 16px;
	color: #311818;
	border-radius: 18px;
	/* background-color: rgba(128,128,128,0); */
	border: 2px solid #555555;
	/* box-shadow: 0px 0px 3px rgba(0,0,0,0.25); */
}

.navmenu .schedule a::before {
	content: " ";
	display: inline;
	padding-left: 24px;
	background: url(calendar-36x36.png) no-repeat;
	background-size: 19px;
	background-position: center left;
}

.navmenu .external a::after, 
.navmenu a[target="_blank"]::after {
	content: " ";
	display: inline;
	padding-right: 24px;
	background: url(external-36x36.png) no-repeat;
	background-size: 18px;
	background-position: top 3px right 0;
}

.navmenu a:link, 
.navmenu a:visited {
	color: #311818;
}

.navmenu :not(.schedule) a:hover, 
.navmenu :not(.schedule) a:active, 
.navmenu :not(.schedule) a:focus {
	border-color: #908585;
	transition: border-color .25s ease-out;
}

/* Website contact form */
#contact_form input, 
#contact_form textarea {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: .01em;
	line-height: 1.6em;
	color: #323232;
	background-color: #ffffff;
	border: 1px solid #969696;
	border-radius: 3px;
	padding: 2px 3px 2px 3px;
	box-sizing: border-box;
}

#contact_form input {
	width: 250px;
}

#contact_form textarea {
	width: 600px;
	min-width: 250px;
	min-height: 6.33em;
	max-width: 100%;
}

#contact_form input[type="submit"] {
	padding: 2px 6px 2px 6px;
	border-color: #969696;
	border-radius: 4px;
	background-color: #e6e6eb;
	color: #000000;
}

#contact_form input:disabled, 
#contact_form textarea:disabled {
	color: #565656;
	background-color: #f5f5f5;
}

#contact_form input[type="submit"]:disabled {
	color: #565656;
	border-color: #969696;
}

#contact_form input:invalid, 
#contact_form textarea:invalid {
	border-left: 4px solid #ff2a51 !important;
}

#contact_form input:hover, 
#contact_form textarea:hover {
	border-color: #646464;
}

#contact_form div {
	/* margin-top: 0.3em; */
}

#constraint_validation_message {
	display: none;
}

#contact_form_thankyou_message {
	display: none;
	text-align: center;
	margin: 2em auto;
	max-width: 700px;
}

#contact_form_thankyou_message h2 {
	font-size: 1.5em;
	margin: 0 0 .75em 0;
	font-weight: 700;
}

#contact_form_thankyou_message p {
	margin: 0 0 1.25em 0;
	line-height: 1.8em;
}

#contact_form_thankyou_message a.button_link {
	width: 290px;
	padding: .75em 1.25em;
	box-sizing: border-box;
}

.pricelist {
	/* font-family: 'Open Sans', sans-serif; */
	font-family: 'Work Sans', sans-serif;
	/* font-size: 15px; */
	/* letter-spacing: .02em; */
	padding: .8em 1em;
	margin: 1em 0;
	background-color: white;
	border-radius: 4px;
	box-shadow: 0px 0px 3px rgba(0,0,0,0.25);
}

.pricelist h3 {
	font-size: 18px;
	margin-top: 0;
}

.pricelist ul {
	padding: 0 .666em;
	list-style: none;
}

.pricelist li {
	border-bottom: 1px dashed #9F9F9F;
	margin-bottom: 7px;
	display: flex;
}

.pricelist li::after {
	content: " ";
	display: block;
	clear: both;
}

.pricelist li span.service {
	margin-right: .8em;
	flex: 1 3 auto;
}

.pricelist li span.price {
	font-weight: 600;
	text-align: end;
	float: right;
	flex: 0 1 auto;
	align-self: flex-end;
}

.pricelist h3.asterisk::after {
	content: "*";
	font-weight: 400;
}

.pricelist span.note {
	/* font-family: 'Open Sans', sans-serif; */
	font-family: 'Work Sans', sans-serif;
	font-size: 12px;
	line-height: 1.4em;
	margin: 1em 0;
}

.pricelist span.note.asterisk::before {
	content: "* ";
}

.attendee_title {
	font-weight: 400;
	font-size: 14px;
	line-height: normal;
	letter-spacing: normal;
	hyphens: manual;
	text-align: center;
	padding-top: 3px;
	text-overflow: ellipsis;
	overflow-wrap: break-word;
}

.attendee_photo {
	position: relative;
	cursor: pointer;
	aspect-ratio: 1 / 1;
}

.attendee_photo img {
	display: block;
	width: 100%;
	opacity: 1;
	box-shadow: 0 0 4px #ffffff;
	transition: opacity .5s ease, filter .5s ease;
}

.attendee_photo:hover img, 
.attendee_photo:active img, 
.attendee_photo:focus img {
	opacity: 0.5;
	/* filter: blur(3px); */
}

.attendee_photo .overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0;
	transition: opacity .5s ease;
	transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.attendee_photo:hover .overlay,
.attendee_photo:active.overlay,
.attendee_photo:focus.overlay {
	opacity: 1;
}

.attendee_photo .text {
	font-weight: 700;
	font-size: 16px;
	color: white;
	background-color: #6c6c6c;
	padding: 10px 16px;
	border-radius: 36px;
}


.attendee_photo .overlay2 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 0;

	background-color: #848484;
	background-color: rgba(0, 0, 0, 0.5);
	overflow: hidden;

	transition: height .4s ease;
}

.attendee_photo:hover .overlay2 {
  height: 40%;
}

.attendee_photo .text2 {
	font-weight: 700;
	font-size: 13px;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: white;

	position: relative;
	top: 50%;
	left: 50%;
	max-width: 95%;

	transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

#attendee_modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background-color: rgba(128,128,128,0.125);
	/* display: none; */
	visibility: hidden;
	opacity: 0;
	transition: visibility .250s, 
				z-index .250s, 
				opacity .250s;
}

#attendee_modal.display_overlay {
	z-index: 444;
	/* display: block; */
	visibility: visible;
	opacity: 1.0;
	transition: opacity .250s;
}

#attendee_modal_container {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/* max-height: 100%; */
	max-height: 100vh;
	overflow-y: auto;
	overscroll-behavior: contain;
}

#attendee_modal_sizer {
	margin: 0 auto;
	padding: 24px;
	max-width: 600px;
}

#attendee_modal_container .content {
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: .01em;
	line-height: 1.4em;
	text-align: left;
	color: #311818;
	background-color: #ffffff;
	border-radius: 6px;
	box-shadow: 0px 0px 3px rgba(0,0,0,0.25);
	overflow: hidden;
}

#attendee_modal_container .content a {
	text-decoration: none;
	color: #003ae8;
}

#attendee_modal_container .content a:hover {
	color: #e8002c;
}

#attendee_modal_container .photo {
	position: relative;
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
}

#attendee_modal_container .photo img {
	width: 100%;
}

#attendee_modal_container .description {
	margin: 12px;
	min-height: 4em;
	box-sizing: border-box;
}

#attendee_modal_container .close_button {
	position: relative;
	position: fixed;
	position: absolute;
	z-index: 1;
	top: 2%;
	right: 2%;
	height: 5.5%;
	width: 5.5%;
	min-height: 24px;
	min-width: 24px;
	max-height: 32px;
	max-width: 32px;
	cursor: pointer;
	background: url(close-button.png) no-repeat;
	background-color: #ffffff;
	background-size: contain;
	background-position: center;
	border-radius: 50%;
}

#attendee_modal_container .close_button:hover {
	background-color: #dadada;
	transition: background-color .25s ease-out;
}

@media screen and (max-width: 820px) {
	#attendee_modal_container {
		top: 60px;
	}
	#attendee_modal_sizer {
		padding: 12px;
	}
}

.notecard {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: .02em;
	background-color: #ffe9f0;
	max-width: 600px;
	margin: 1em 0;
	padding: 0.75em 1em;
	border: 1px solid #c6c6c6;
	border-left: 4px solid #ff256d;
	border-radius: .25rem;
}

.notecardgreen {
	background-color: #e9ffdb;
	border-left-color: #87c660;
}

.imagecaption {
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 12px;
	/* font-style: italic; */
	line-height: 1.2em;
	text-align: center;
	background-color: #ffffff;
	padding: 3px;
}

@media screen and (max-width: 420px) {
	#contact_form input, #contact_form textarea {
		min-width: 216px;
		width: 100%;
	}
	#contact_form_thankyou_message a.button_link {
		width: 80%;
	}
}

/* social media buttons */
.some_buttons {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	list-style: none;
}

.some_buttons li {
	display: inline;
	float: left;
	padding: 0 6px;
}

.some_buttons a {
	display: inline;
	float: left;
	text-decoration: none;
}

.some_buttons img {
	display: block;
	width: 32px;
}

.some_buttons a:link, 
.some_buttons a:visited {
	opacity: 1;
}

.some_buttons a:hover, 
.some_buttons a:active, 
.some_buttons a:focus {
	opacity: 0.6;
	transition: opacity .25s ease-out;
}

/* Website title page */
.sitetitleimage {
  /* The image used */
  background-image: url("site_logo_large_v3.jpeg");

  /* Set a specific height */
  height: 380px;

  /* Create the parallax scrolling effect */
  /* background-attachment: fixed; */
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;

  background-color: white;
  border-radius: 190px;
  box-shadow: 0 0 4em white;
}

#site_header {
	color: #311818;
	font-family: 'PT Serif', sans-serif;
	/* font-family: 'Libre Baskerville', sans-serif; */
	font-weight: 400;
	font-size: 32px;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

@media screen and (max-width: 768px) {
	.sitetitleimage {
		/* background-attachment: scroll; */
		background-position: center -1em;
		height: 300px;
	}
}

@media screen and (max-width: 512px) {
	#site_header {
		display: none;
	}
}

@media screen and (max-width: 320px) {
	.sitetitleimage {
		/* background-attachment: scroll; */
		background-position: center -0.5em;
		height: 240px;
	}
}

.notification_message {
	margin: .5em .2em;
	padding: .5em .3em;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	box-shadow: 0px -9px 7px -7px rgba(0,0,0,0.2), 
				0px 9px 7px -7px rgba(0,0,0,0.2);
				/* rgba(255, 191, 0, 0.33); */
	background: linear-gradient(to right, 
				transparent, 
				rgba(250, 235, 215, 0.2) 5%, 
				rgba(250, 235, 215, 0.2) 95%, 
				transparent);
}

a.button_link, 
a.button_link:link, 
a.button_link:visited {
	color: #303030;
	background-color: #ffffff;
	font-family: 'Work Sans', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .02em;
	display: inline-block;
	margin: 4px 0;
	padding: .75em 1.25em;
	border-radius: 3px;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.20);
}

a.button_link:hover, 
a.button_link:active {
	color: #000000;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.33);
}

a.button_link.schedule::before {
	content: " ";
	display: inline;
	padding-left: 24px;
	background: url(calendar-36x36.png) no-repeat;
	background-size: 19px;
	background-position: center left;
}

a.button_link.blue_button, 
a.button_link.blue_button:link , 
a.button_link.blue_button:visited {
	color: #ffffff;
	background-color: #2681da; /* #065fd4 */
}

a.button_link.blue_button:hover, 
a.button_link.blue_button:active {
	background-color: #3691fa;
}

a.textlink {
	color: #323232;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	text-decoration: none;
}

#footer_sizer {
	clear: both;
	height: 115px;
}

#footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: inherit;
	min-width: 240px;
	background-color: #ffffff;
	box-shadow: 0px -1px 3px rgba(0,0,0,0.15);
}

#footer .footer_content {
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 25px;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 11px;
	letter-spacing: .02em;
	line-height: 1.6em;
	text-align: center;
	color: #323232;
}

#footer .footer_line {
	margin-top: 1.4em;
	overflow: clip;
	white-space: nowrap;
}

#footer .footer_link {
	color: #323232;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	text-decoration: none;
}
