body {
	background-color:#fff; 
	text-align:center;
	margin:0;
}
div.logo {
  width:100%;
	padding:40px 0 30px 0;
	border-bottom:1px solid #ccc;
}

div.downarrow {
	position:fixed;
  bottom:3%;
	left:50%;
	width:42px;
	height:26px;
	background:url(../images/downarrow3d.png) center no-repeat;
}
div.bggrey {
	background-color:#ccc;
}
div.shadowpad {
	padding:2% 0 0 0;
}
div.portitem {
	margin:0 auto 4%;
  width:92%;
  display:inline-block;
  position:relative;
	overflow:hidden;
}
div.portitem:after {
  padding-top:49%; /* aspect ratio accommodating narrowest pic */
  display:block; content:'';
}
div.portinner {
  position:absolute;
  top:0; bottom:0; right:0; left:0;
}
h2.porttitle {
	position:absolute;
	width:100%;
	color:#27201d;
	/*font-family:Helvetica;*/
	font-weight:normal;
	text-shadow:1px 1px 1px #999;
}
img.portimage {
	width:100%;	
}
img.portbev { margin-top:-3%; }
img.porthon { margin-top:-14%; }
img.portscv { margin-top:-6%; }
img.portman { margin-top:-0%; }
img.portbrn { margin-top:-12%; }
img.portsin { margin-top:-0%; }

a.mainmenu {
	color:#444;
	line-height:2em;
	/*font-family:Helvetica;*/
	font-weight:normal;
	text-decoration:none;
}	
img.menu-celticknot {
	width:80px;
}
img.contact {
	width:100%;	
}
span.contactlabel { 
	font-family:Helvetica;
	font-size:13px;
	font-weight:bold;
	letter-spacing:0.1em;
	display:inline-block;
	margin:0 0 0.7em 0;
}	
a.contact, span.contact { 
	color:#444;
	font-family:Helvetica;
	font-size:18px;
	font-weight:bold;
	letter-spacing:normal;
	line-height:1.5em;
	text-decoration:none;
	display:inline-block;
	margin:0 0 1.5em 0;
}	
img.contact-celticknot {
	width:80px;
	margin:6% 0;
}

div.z1 { z-index:1; }
div.z2 { z-index:2; }
div.z3 { z-index:3; }
div.z4 { z-index:4; }
div.z5 { z-index:5; }
div.z6 { z-index:6; }
div.p0 { 
	padding:0;
	overflow:hidden;
}

a.homeemail {
	cursor:default;
	text-decoration:none;
}
a.homeemail:hover {
	cursor:default;
	text-decoration:none;
}

h1.hometitle {
	color:#fff;
	text-align:left;
	font-family:Helvetica;
	font-weight:normal;
	text-shadow:1px 1px 2px #888;
}
.htimg {
	width:280px; 
}
.heimg {
	margin:7px 30px;
	width:30px;
	cursor:pointer;
}

div.homeimage {
	width:92%; 
	margin:0 4% 4%; 
}

div.projtext {
	width:92%; 
	padding:4% 4% 0;
	text-align:left;
	font-family:Helvetica;
	font-size:20px;
	background-color:#fff;
}
div.projcredits {
	width:92%; 
	margin:4% 4% 0;
	text-align:center;
	font-family:Helvetica;
	font-size:20px;
}

div.instatext {
	display:inline-block;
	width:92%; 
	margin:0 0 30px 4%;
	text-align:left;
	font-family:Helvetica;
	font-size:20px;
}
a.instalink { 
	color:#000;
	text-decoration:none;
}	

@media screen and (max-width:580px) {  
	div.instaback {
		padding:0 0.6%;
		margin-top:-92%;
		margin-bottom:92%;
	}
	div.insta-wrapper-outer {
		width:92%;
		display:inline-block;
		position:relative;
		margin:0 0 4% 0;	
	}
}
@media screen and (min-width:581px) {
	div.instaback {
		padding:0 0.6%;
		margin-top:-28%;
		margin-bottom:28%;
	}
	div.insta-wrapper-outer {
		width:28%;
		display:inline-block;
		position:relative;
		margin:0 2% 4% 2%;	
	}
}
div.insta-wrapper:after {
  padding-top:100%; 
  display:block;
  content:'';	
}

div.insta-wrapper {
	width:100%; 
	display:inline-block;
	position:relative;	
  border:0px solid red;
}
div.insta-image {
  position:absolute;
  top:0; bottom:0; right:0; left:0;
	overflow:hidden;
  display: flex;
  justify-content: center;
}
img.insta-image {
	border-width:0;
	max-height:100%;
}

/* 
croplandscape crops width on landscape images
while preserving height on portrait images
*/
@media screen and (max-width:580px) {  
	div.croplandscape-outer {
		width:92%;
		padding-top:92%;
		display:inline-block;
		position:relative;
		margin:0 0 4% 0;	
	}
}
@media screen and (min-width:581px) {
	div.croplandscape-outer {
		width:28%;
		padding-top:28%;
		display:inline-block;
		position:relative;
		margin:0 2% 4% 2%;	
	}
}
div.croplandscape {
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:auto 100%;
	overflow:hidden;
	position:absolute;
	border:0px solid black;
}

div.media-artlink {
	width:100%;
	margin:0 0 30px;
}
div.media-artlink a {
	text-decoration:none;
	outline:none;
}
div.media-artlink img {
	width:100%;
}


@media screen and (max-width:580px) {
	div.fdspic {
		width:100%;
		height:100vh;
		background-repeat:no-repeat;
		background-position:center;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		-o-background-size:cover;
		background-size:cover;
		overflow:hidden;
		opacity:1;
		top:-48px; left:0;
		position:absolute;
	}
	div.menu { 
		position:fixed;
		left:0; right:0;
		height:100%;
		background-color:#e5e2da;
	}	
	div.menuinner { 
		margin:40px auto;
	}	
	div.menubutton {
		position:fixed;
	  width:48px;
	  height:48px;
		background-position:center; 
	}
	br.menu {
		display:none;
	}
	div.topcontent { 
		position:absolute;
		top:48px; bottom:0;
		left:0; right:0;
		overflow:auto;
		opacity:0;
	}
	div.topcontent.nomenu {
		top:0px;
	}
	div.bottomcontent { 
		position:absolute;
		top:100%;
		left:0; right:0;
	}
	a.entersite {
		width:70px;
		height:8px;
		padding:6px;
		margin:0 0 0 -50px;	
		position:absolute;
		top:50%;
		left:50%; right:50%;
		color:#555;
		border:1px solid #777;
		background-color:white;
	/*font-family:Helvetica;*/
		font-weight:normal;
		font-size:10px;
		line-height:1em;
		text-decoration:none;
		opacity:0;
	}
	a.entersite:hover {
		color:#555;
	}
	h1 {
		color:#27201d;
		text-align:left;
		margin:60px 4%;
	/*font-family:Helvetica;*/
		font-weight:normal;
		font-size:30px;
	}
	h1.ht-dd {
		margin:25px 4%;
		font-size:26px;
		letter-spacing:0.08em;
	}
	h1.ht-id {
		margin:-15px 4%;
		font-size:14px;
		letter-spacing:0.04em;
	}
	h1.projtitle {
		color:#27201d;
		text-align:left;
		margin:30px 4%;
		font-size:34px;
		text-shadow:1px 1px 2px #888;
	}
	div.hometext {
		float:left; 
		width:92%; 
		margin:4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:24px;
	}
	div.aboutimage {
		display:block;
		float:left; 
		width:92%; 
		margin:0 0 4% 4%;
		text-align:left;
	}
	div.aboutblock {
		float:left; 
		width:92%; 
		margin:0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:20px;
	}
	div.contactimage {
		display:none;
	}
	div.contactblock {
		float:left; 
		width:92%; 
		margin:0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:20px;
	}
	div.projback {
		width:100%;
		padding:0 0 6%;
		background-color:#fff;
		margin-bottom:2.3%;
		box-shadow:0px 5px 3px #aaa;
	}
	div.portback {
		width:100%;
	}
	div.projportitem {
		margin:0 auto 4%;
		width:92%;
		display:inline-block;
		position:relative;
		overflow:hidden;
	}
	div.projportitem:after {
		padding-top:49%; /* aspect ratio accommodating narrowest pic */
		display:block; content:'';
	}
	img.projimage {
		opacity:0;
		width:89%;
		margin:6% auto 0;
	}

	div.media-text {
		float:left;
		width:92%; 
		margin:0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:20px;
		color:#222;
	}
	div.media-content {
		float:left;
		width:100%;
		max-width:800px; 
	}
	div.media-logo {
		width:100%;
		margin:0 0 30px;
	}
	div.media-logo img {
		width:100%;
	}
	div.media-header1 {
		margin:30px 0;
		font-family:Helvetica;
		font-size:36px;
		font-weight:bold;
	}
	div.media-header2 {
		width:100%;
		border-top:1px solid #555;
		border-bottom:1px solid #555;
	}
	div.media-aside {
		float:left;
		width:90%;
		margin:0 5% 0 5%;
		font-size:16px;
	}
	div.media-image1 {
		float:left;
		width:100%;
		margin:0 0 20px 0;
		font-size:12px;
	}
	div.media-image1 img {
		width:100%;
	}
	div.media-image2 {
		width:80%;
		margin:10px 10% 40px;
		font-size:12px;
	}
	div.media-image2 img {
		width:100%;
	}
	a.media-link {
		color:black;
		text-decoration:none;
	}
	div.media-copyright {
		clear:both;
		float:left;
		margin:20px 0;
		font-size:12px;
	}
}

div.fdspic1 {
	width:28%;
	height:10vh;
	background-repeat:no-repeat;
	background-position:center;
	background-size:100%;
	overflow:hidden;
	opacity:1;
	top:0; left:0;
	position:absolute;
}

@media screen and (min-width:581px) {
	div.fdspic {
		width:100%;
		height:100vh;
		background-repeat:no-repeat;
		background-position:center;
		-webkit-background-size:cover;
		-moz-background-size:cover;
		-o-background-size:cover;
		background-size:cover;
		overflow:hidden;
		opacity:1;
		top:0; left:0;
		position:absolute;
	}
	div.menu { 
		position:fixed;
		top:0; bottom:0;
		width:485px;
		background-color:#e5e2da;
	}	
	div.menuinner { 
		margin:40px auto;
	}	
	div.menubutton {
		position:fixed;
	  width:65px;
	  height:65px;
		background-position:center; 
	}
	br.menu {
		display:inline;
	}
	div.topcontent {
		position:absolute;
		top:0; bottom:0;
		left:65px; right:0;
		overflow:auto;
		opacity:0;
	}
	div.topcontent.nomenu {
		left:0px;
	}
	div.bottomcontent {
		position:absolute;
		top:100%;
		left:65px; right:0;
	}
	h1 {
		color:#27201d;
		text-align:left;
		margin:0;
		/*font-family:Helvetica;*/
		font-weight:normal;
		position:absolute;
		bottom:40px;
		left:40px;
	}
	h1.ht-dd {
		font-size:26px;
		letter-spacing:0.11em;
	}
	h1.projtitle {
		color:#27201d;
		text-align:left;
		margin:40px 4%;
		font-size:48px;
		text-shadow:1px 1px 2px #888;
	}
	div.hometext {
		float:left; 
		width:92%; 
		margin:4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:32px;
	}
	div.aboutimage {
		display:block;
		float:left; 
		width:44%;
		margin:0 0 4% 4%;
		text-align:left;
	}
	div.aboutblock {
		float:left; 
		width:44%; 
		margin:0 0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:24px;
	}
	div.contactimage {
		display:block;
		float:left; 
		width:40%; 
		margin:0 0 4% 4%;
		text-align:left;
	}
	div.contactblock {
		float:left; 
		width:44%; 
		margin:0 0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:20px;
	}
	div.projback {
		width:100%;
		padding:0 0 4%;
		background-color:#fff;
		margin-bottom:2%;
		box-shadow:0px 8px 7px #aaa;
	}
	div.portback {
		width:100%;
	}
	div.projportitem {
		margin:0 2% 4%;
		width:44%;
		display:inline-block;
		position:relative;
		overflow:hidden;
	}
	div.projportitem:after {
		padding-top:49%; /* aspect ratio accommodating narrowest pic */
		display:block; content:'';
	}
	img.projimage {
		opacity:0;
		margin:4% auto 0;
	}

	img.projsin2  { width:40.6%; }
	img.projsin3  { width:43.05%; margin:0 0 0 2%; }
	img.projsin4  { width:92%; }
	img.projsin5  { width:78%; }
	img.projsin5a { width:38%; }
	img.projsin6  { width:84%; }
	img.projsin8  { width:58%; }
	img.projsin9  { width:46%; }
	img.projsin7  { width:54%; }
	img.projsin10 { width:71%; }
	img.projsin11 { width:62%; }

	img.projhon2   { width:92%; }
	img.projhon2a  { width:84%; }
	img.projhon3   { width:33.8%; }
	img.projhon3a  { width:55.7%; margin:0 0 0 2%; }
	img.projhon4   { width:44%; }
	img.projhon5   { width:85%; }
	img.projhon5a  { width:72%; }
	img.projhon6   { width:46.2%; }
	img.projhon6a  { width:43.4%; margin:0 0 0 2%; }
	img.projhon7   { width:92%; }
	img.projhon8   { width:37%; }
	img.projhon8a  { width:52.5%; margin:0 0 0 2%; }
	img.projhon8b  { width:77%; }
	img.projhon9   { width:90%; }
	img.projhon10  { width:84%; }

	img.projscv2  { width:41%; }
	img.projscv3  { width:70%; }
	img.projscv4  { width:60%; }
	img.projscv5  { width:47%; }
	img.projscv6  { width:38.9%; margin:0 0 0 2%; }
	img.projscv7  { width:44%; }
	img.projscv8  { width:42.55%; margin:0 0 0 2%; } 

	img.projman2  { width:92%; }
	img.projman3  { width:31.8%; }
	img.projman3a { width:36.55%; margin:0 0 0 2%; }
	img.projman4  { width:92%; }
	img.projman4a { width:38%; }
	img.projman5  { width:92%; }
	img.projman6  { width:40%; }
	img.projman6a { width:38.35%; margin:0 0 0 2%; }
	img.projman7  { width:92%; }
	img.projman8  { width:36%; }
	img.projman8a { width:40.2%; margin:0 0 0 2%; }

	img.projbrn2  { width:32%; }
	img.projbrn3  { width:75%; }
	img.projbrn4  { width:42%; }
	img.projbrn5  { width:84%; }
	img.projbrn6  { width:53%; }
	img.projbrn7  { width:37.35%; margin:0 0 0 2%; }
	img.projbrn8  { width:31.24%; }
	img.projbrn9  { width:53.25%; margin:0 0 0 2%; }

	img.projbev2   { width:46%; }
	img.projbev4   { width:63%; }
	img.projbev5   { width:51%; }
	img.projbev6   { width:38.6%; margin:0 0 0 2%; }
	img.projbev10  { width:51%; }
	img.projbev9   { width:82%; }
	img.projbev14  { width:61.8%; }
	img.projbev15  { width:27.8%; margin:0 0 0 2%; }

	img.projgrn2  { width:56%; }
	img.projgrn3  { width:47%; }
	img.projgrn4  { width:81%; }
	img.projgrn5  { width:70%; }
	img.projgrn6  { width:59%; }
	img.projgrn7  { width:46.5%; }
	img.projgrn8  { width:76%; }
	img.projgrn9  { width:59%; }
	img.projgrn10 { width:60%; }
	img.projgrn11 { width:52%; }
	img.projgrn12 { width:48%; }
	img.projgrn13 { width:80%; }
	img.projgrn14 { width:52%; }
	img.projgrn15 { width:58%; }
	img.projgrn16 { width:78%; }
	img.projgrn17 { width:42%; }
	img.projgrn18 { width:41.4%; margin:0 0 0 2%; }

	div.media-article {
		margin:0 0 6% 0;
		display:inline-block;
	}
	div.media-text {
		float:left;
		width:92%; 
		margin:0 4% 4%; 
		text-align:left;
		font-family:Helvetica;
		font-size:20px;
		color:#222;
	}
	div.media-content {
		float:left;
		width:90%;
		margin:0 0 0 6%;
		max-width:800px; 
	}
	div.media-logo {
		width:40%;
		min-width:460px;
		margin:0 0 50px;
	}
	div.media-logo img {
		width:100%;
	}
	div.media-header1 {
		margin:30px 0 50px;
		font-family:Helvetica;
		font-size:36px;
		font-weight:bold;
	}
	div.media-header2 {
		width:100%;
		border-top:1px solid #555;
		border-bottom:1px solid #555;
	}
	div.media-aside {
		clear:both;
		width:100%;
		margin:0 5% 0 0;
		font-size:16px;
		text-align:center;
	}
	div.media-image1 {
		float:left;
		width:40%;
		margin:0 5% 20px 0;
		font-size:12px;
	}
	div.media-image1 img {
		width:100%;
	}
	div.media-image2 {
		width:80%;
		margin:20px;
		font-size:12px;
	}
	div.media-image2 img {
		width:100%;
	}
	a.media-link {
		color:black;
		text-decoration:none;
	}
	div.media-copyright {
		clear:both;
		float:left;
		margin:20px 0;
		font-size:12px;
	}
}

@media screen and (max-width:400px) {
	h2.portfsize { font-size:16px; }
	a.menufsize { font-size:22px; }
	a.contfsize { font-size:16px; }
}
@media screen and (min-width:401px) and (max-width:460px) {
	h2.portfsize { font-size:18px; }
	a.menufsize { font-size:24px; }
	a.contfsize { font-size:17px; }
}
@media screen and (min-width:461px) and (max-width:520px) {
	h2.portfsize { font-size:20px; }
	a.menufsize { font-size:26px; }
	a.contfsize { font-size:18px; }
}
@media screen and (min-width:521px) and (max-width:580px) {
	h2.portfsize { font-size:22px; }
	a.menufsize { font-size:28px; }
	a.contfsize { font-size:20px; }
}
@media screen and (min-width:581px) {
	h2.portfsize { font-size:24px; }
	a.menufsize { font-size:30px; }
	a.contfsize { font-size:20px; }
}

a.menusel {
	color:#009661;
}	
a:hover {
	color:#009661;
}	


@media screen and (max-width:440px) {
	img.logo-dd {
		width:354px;  height:25px;
		margin-top:50px;
	}
	img.logo-id {
		width:145px;  height:13px;
		margin-top:12px;
	}
}
@media screen and (min-width:441px) and (max-width:580px) {
	img.logo-dd {
		width:404px;  height:28px;
		margin-top:60px;
	}
	img.logo-id {
		width:165px;  height:15px;
		margin-top:15px;
	}
}
@media screen and (min-width:581px) {
	img.logo-dd {
		width:506px;  height:36px;
		margin-top:70px;
	}
	img.logo-id {
		width:207px;  height:19px;
		margin-top:20px;
	}
}

h1.projsin, h1.projgrn { color:#e9e9e9; text-shadow:1px 1px 2px #000; }
h2.portsin, h2.portgrn { color:#ffffff; text-shadow:1px 1px 3px #000; }

@media screen and (min-width:1101px) {
}
@media screen and (max-width:1100px) {  
}


.carousel { margin:auto; visibility:hidden; }
.carousel-arrow { float:left; width:40px; padding:0; font-size:26px; color:#666; }
.carousel-arrow img { width:100%; }
.carousel-outer { float:left; overflow:hidden; margin:0 0 30px; }
.carousel-inner { float:left; margin-left:0; transition:margin 0.7s; }
.carousel-block { float:left; z-index:-1; text-align:center; }
.carousel-image { float:left; width:100%; margin:0; padding:0; }
.carousel-image img { width:50%; margin:0; padding:0; border:0; float:left; }
.carousel-text { float:left; width:100%; padding:0; text-align:center; font-size:12px; }

.progress { position:absolute; width:60px; top:100px; left:50%; z-index;9999; }


























