/**
	width:100%;
MEASURED DIMENSIONS 

Menu logo: 155x155
Background: 1605x994
Menu bar: 1050x75
Content Width: 1050
*/

* {
	font-family:'Montserrat', sans-serif;
	font-size:10pt;
	line-height:14.5pt;
}

p {
	font-weight:300;
}

.subheading {
	font-size:12pt;
}

.caption {
	font-size:8pt;
}

a {
	text-decoration:unset;
	color:grey;
}
#contentInner {
	display:flex;
	flex-direction:column;
	height:100%;
}

.spacer{
	flex-grow:1;
}

/* Flex makes the background cover all but the menu and take a full viewport even if content does not fill viewport */
body {
	min-height:100vh;
	display:flex;
	flex-direction:column;
	margin:0;
	align-content:center;
}
#bg {
	background-position-x:center;
	background-repeat:no-repeat;
	flex-grow:1;
	background-color:#3d3f45;
	width:100%;
	
	display:flex;
	flex-direction:column;
}
#bg.tainted {
	background-blend-mode:multiply;
}
.content {
	width:1050px;
	margin-left:auto;
	margin-right:auto;
	flex-grow:1;
	box-sizing:border-box;
}
#title,
#title * {
	font-size:22pt;
	line-height:22pt;
	font-weight:300;
}

#title .sub {
	font-size:10pt;
	padding-left:8px;
}

#landingBlock {
	color:white;
	display:flex;
	flex-direction:column;
	align-items:center;
	padding-top:20px;
	padding-bottom:20px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	
}

#landingBlock #title {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	line-height:26pt;
}

#landingBlock #title > div {
	margin-bottom:10px;
}


#landingBlock #title,#subtitle {
	padding:2rem 0;
}

#landingBlock #title * {
	font-size:58pt;
	line-height:58pt;
}
#landingBlock #title *:first-child {
	font-weight: 700;
	padding-right:0.5rem;
}

#separator{
	height:3px;
	background-color:#707176;
	background-clip:content-box;
	width:60px;
}
#landingBlock #separator {
	width:158px;
	margin:30px 0;
	padding:unset;

}

#landingBlock #subtitle {
	text-align:center;
	font-size:18pt;
	line-height:24pt;
}

.dialouge {
	display:flex;
	background-color:white;
}

.dialouge .inner {
	padding:20px;
}

.inner {
}
#contact .inner {
	display:flex;
	width:100%;
	justify-content:space-evenly;
	flex-direction:row;
	flex-wrap:wrap;
}

.dialouge .inner > * {
	padding:10px;
}

#simpleDialouge, #testimonial {
	max-width:640px;
}
#testimonial {
	margin:25px 0;
	font-size:11pt;
}
#quote {
	font-size:69pt;
	margin-top: 25px;
	margin-bottom:-10px;
}
#quote::before,
#quote::after {
	content:"_";
	position:relative;
	font-size:48pt;
	top:-55px;
}
#testimonial .text {
	font-style:italic;
}
#testimonial .author {
	padding-top:6px;
	padding-bottom:6px;
	font-weight:bold;
	font-size:
}
#testimonial .author::before {
	content:'~';
}
#simpleDialouge {
	position:relative;
	min-height:400px;
}
#simpleDialouge .inner {
	box-sizing:border-box;
}
/*
#simpleDialouge::before {
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:0;
	border-top:10px solid black;
	border-right:10px solid black;

}
*/
#testimonial, #simpleDialouge,#galleryDialouge * , #contact{
	color:#707176;
}

#youtubeEmbed {
    float: right;
	width: 380px;
	padding-left: 25px;
}


#galleryDialouge #submenu nav ul{
	justify-content:space-between;
}

#fullPageText #submenu li {
	text-transform:uppercase;
}

#galleryDialouge {
	min-height:80%;
	display:flex;
	flex-direction:column;

}
#submenu {
	padding-top:20px;
}
#fullPageText #submenu {
	padding-top:60px;
	padding-left:0px;
}
#fullPageText #submenu li {
	padding-left:0;
	padding-right:45px;
}
#galleryDialouge #textContent{
	padding-bottom:20px;
}

#galleryDialouge #submenu nav ul li::before {
	content:">";
}
	
#submenu nav ul li {
	padding-left:10px;
	padding-right:10px;
}

/* Both children and the element to capture menu link and ::before pseudo*/
#menu nav ul li.current *:not(.noMenuHighlight),
#submenu nav ul li.current *:not(.noMenuHighlight),
#submenu nav ul li.current:not(.noMenuHighlight){
	color:#52a5b7;
}

#submenu nav ul li *,
#submenu nav ul li{
	font-size:12pt;
	font-weight:600;
}

.dialouge #title{
	padding-top:35px;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-itmes:baseline;
}

#menu {
	background-color: white;
	
	/* Centering content */
	/*
	display:flex;
	flex-direction:column;
	justify-content:center;
	*/
}


nav ul {
	/* Remove default css */
	padding-inline-start:unset;
	margin-block-start:unset;
	margin-block-end:unset;

	display:flex;
	flex-direction:row;
	list-style-type:none;
	justify-content:flex-start;
	align-items:center;
}

nav#mainMenu ul {
	position:relative;
	height:75px;
}
nav#mainMenu ul li:not(#menuLogo){
	padding-left:10px;
	flex-grow:1;
}

nav#mainMenu ul li#menuLogo {
	align-self:baseline;
}

#mainMenu .title {
	font-weight:bold;
	font-size:12pt;
	color:#2c2e35;
}
#mainMenu .subtitle {
	font-size:8pt;
	line-height:unset;
	color:#888a8e
}

.dialouge .inner .gallery {
	display:flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content:space-evenly;
	margin:-10px; /* Makes content align with container */
	padding-top:50px;
	padding-bottom:50px;
}

.gallery .itemWrapper {
	margin: 10px;
}

.gallery .item {
	border-color:grey;
	border-style:solid;
	border-width:6px;
	display:inline-block;
}

.gallery .itemCaption {
	margin-top: 4px;
}

/* Make modal fill screen*/
#modal {
	width:unset;
	max-width:unset;
}
/* Constrain modal image to whatever limit hit first */
#modal  img {
	max-width:60vw;
	max-height:80vh;
}

#prevImage, #nextImage{
}

.collapsing div:not(.title) {
	display:none;
	transition:display 1s ease-in-out;
}
.collapsing .title {
	font-weight:bold;
	padding-top:20px;
	padding-bottom:20px;
}
.collapsing .title::before {
	content:">";
	font-weight:bold;
}

#fullPageText .pageContent{
	padding-top:70px;
}
#fullPageText * {
    color: white;
}
#fullPageText #title {
	text-transform:uppercase;
	font-size:18pt;
	font-weight:600;
	padding-bottom:20px;
}

#fullPageText #text {
	padding:10px 0;
	max-width:750px;
}
#fullPageText #profile {
	display:flex;
	flex-direction:row;
}
#fullPageText #profile #text {
	padding-right:40px;
}
#fullPageText #profile #pdf {
	margin-top:-50px;
}
#profilePDF {
	width: 80px;
}

#contact div.title{
	font-size:19pt;
	line-height:21pt;
	font-weight:bold;
	padding-top:14px;
	padding-bottom:22px;
}
#contact div.subtitle{
	font-weight:600;
}
#contact .block div {
	line-height:14.5pt;
}
#contact .block {
	padding-bottom:20px;
}
#contact form .entry{
	padding-bottom:4px;
}

#contact form input[type=submit] {
	font-size:14pt;
	font-weight:bold;
	color:white;
	border:none;
	padding:7px 9px;
	background-color:#53a4b8;
}

#contact form .errors {
	color: red;
    padding-left: 20px;
}

#contact form p.message {
    font-weight: bold;
    max-width: 215px;
}

#contact form p.error {
	color: red;
}


#burgerMenuIcon {
	align-self:end;
	position:absolute;
	z-index:2; /* Necessary to get click events since other elements will overlay this without.*/
	top:0;
	right:0;
}

.hamburger.white.is-active .hamburger-inner,
.hamburger.white.is-active .hamburger-inner::before, 
.hamburger.white.is-active .hamburger-inner::after,
.hamburger.white .hamburger-inner,
.hamburger.white .hamburger-inner::before, 
.hamburger.white .hamburger-inner::after {
	background-color:white;
	transition:"background-color";
	transition-duration:700ms;
	transition-timing-function:"linear";
}


/*******************************************************************************/
/* Responsive CSS Here
/*******************************************************************************/
.mobile {display:none;}
@media screen and (max-width:1050px) {
	.desktop{display:none;}
	.mobile{display:block;}
	
	.menuLogo.mobile {
		position:absolute;
		z-index:1;
		left:0;
		top:0
	}
	#menu {
	}
	#mainMenu {
		background-color:black;
		position:absolute;
		padding:20px 0;
		z-index:1;
		width:100%;
		top:-100%;
		transition:top;
		transition-delay:0;
		transition-duration:500ms;
		transition-timing-function:ease-in-out;
	}
	
	#landingBlock {
		margin-top:50px;
	
	}
	
	#landingBlock #logo img {
		height:auto;
		width:100px;
	}
	
	nav#mainMenu ul {
		flex-direction:column;
		height:unset;
		padding:15px 0;
	}
	
	.mobilePadded {
		margin:25px;
		margin-top:0;
	}

	nav#mainMenu ul li:not(#menuLogo) {
		padding:8px 0;
	}
	nav#mainMenu ul li:not(#menuLogo) a > div .title {
		color:white;
	}

	nav#mainMenu ul li:not(#menuLogo) a > div {
		display:flex;
		flex-direction:column;
		justify-content:center;
		text-align:center;
	}

	nav#mainMenu #menuLogo {
		display:none;
	}

	#landingBlock #title, #subtitle {
		padding:2rem;
	} 
	#landingBlock #title * {
		font-size:38pt;
		line-height:38pt;
	}
	
	/* Else overflows */
	.content {
		max-width:100%;
	}

	#fullPageText #profile {
		flex-direction:column;
		align-items:center;
	}
	#fullPageText #profile #text {
		padding-right:0;
		padding-bottom:50px;

	}

	#fullPageText #profile #pdf {
		margin-top:0;
	}
	#fullPageText #profile #pdf img {
		width:100%;
	}
	#testimonial{
		margin:25px;
	}

	#youtubeEmbed {
	    float:unset;
	    padding: 25px;
	    margin: auto;
	}

}

@media screen and (max-width:890px){
	#landingBlock #title * {
		font-size:30pt;
		line-height:30pt;
	}
}

@media screen and (max-width:690px){
	#landingBlock #title * {
		font-size:24pt;
		line-height:24pt;
	}
}


@media screen and (max-width:590px){
	#landingBlock #title * {
	}
	#landingBlock #subtitle {
		font-size:14pt;
		line-height:18pt;
	}
}

@media screen and (max-width:330px){
	
}

