
#page h2 {
	font-size: 140%;
	padding: 60px 20px 40px 20px; margin: 0;
}

.vcard { /* two columns */
	display: inline-block;
	width: 50%;
	overflow: hidden;
	padding: 20px;
}
.vcard * {
	overflow-wrap: break-word;
}
@media (max-width: 1120px) { .vcard { /* single column */
	display: block;
	width: 100%; max-width: 700px;
	margin: 0 auto;
} }
@media (max-width: 600px) { .vcard { /* remove padding */
	padding: 20px calc(12vw - 52px);
} }

.vcard .photo {
	border-radius: 50%;
	float: left;
	object-fit: cover; font-family: 'object-fit: cover;';
}
.vcard .photo { width: 230px; height: 230px; }
.vcard>div { padding: 50px 0 0 250px; }
@media (max-width: 600px) { /* shrink photo, lift text up */
	.vcard .photo { width: 38vw; height: 38vw; }
	.vcard>div { padding: calc(30vw - 130px) 0 0 calc(38vw + 20px); }
}
@media (max-width: 500px) { /* push photo down */
	.vcard .photo { margin-top: calc(100px - 20vw); }
}

.vcard .given-name,
.vcard .family-name {
	font-size: larger;
}
.vcard .position {
	text-transform: uppercase;
}
.vcard .family-name {
	font-weight: bolder;
}
.vcard .position {
	font-size: smaller;
}
.vcard .n {
	margin-bottom: 15px;
}
.vcard>div>br {
	line-height: 50%;
}
.vcard .given-name,
.vcard .family-name,
.vcard .tel,
.vcard .email {
	display: inline-block;
}
.vcard .tel,
.vcard .email {
	max-width: 48vw;
}

#page-wrap {
	position: relative;
}
#page {
	padding-bottom: 3em;
	overflow: visible;
}
.has-map #page {
	padding-bottom: 650px;
}
#page::before {
	content: '';
	clear: both;
	display: block;
}

#address>h2 {
	padding-bottom: 20px;
}
#address>div {
	padding: 0px 20px 0px 20px;
}
#address em {
	font-style: normal;
	font-size: 120%; opacity: .75;
}

#map {
	display: block; position: absolute;
	bottom: 0; left: 0;
	width: 100%; height: 600px;
	overflow: hidden;
}

#map img {
	display: block; position: absolute; margin: auto;
	top: -9999px; bottom: -9999px; left: -9999px; right: -9999px;
}

@media (min-width: 1921px) { #map img {
	-webkit-mask-image: linear-gradient(to left, transparent, black 10%, black 90%, transparent);
	mask-image: linear-gradient(to left, transparent, black 10%, black 90%, transparent);
} }
