
*{
	/*border: 1px green solid;*/
}

.margin20 {
	margin-top: 20px;
}
.margin30 {
	margin-top: 30px;
}
.margin40 {
	margin-top: 40px;
}
.margin60 {
	margin-top: 60px;
}
.margin100 {
	margin-top: 100px;
}


.margin10B {
	margin-bottom: 10px;
}
.margin20B {
	margin-bottom: 20px;
}
.margin30B {
	margin-bottom: 30px;
}
.margin40B {
	margin-bottom: 40px;
}
.margin60B {
	margin-bottom: 60px;
}
.margin100B {
	margin-bottom: 100px;
}


.padding20 {
	padding-top: 20px;
}
.padding40 {
	padding-top: 40px;
}
.padding60 {
	padding-top: 60px;
}
.padding100 {
	padding-top: 100px;
}


.padding20B {
	padding-bottom: 20px;
}
.padding40B {
	padding-bottom: 40px;
}
.padding60B {
	padding-bottom: 60px;
}
.padding100B {
	padding-bottom: 100px;
}


.topOffset20 {
	position: relative;
	top:-60px;
}

.lightGreyBG{
 	background-color: #d1d1d1;
 	
}

.darkGreyBG{
 	background-color: #2d2d2d;
 	color: #d1d1d1;
}

.borderTop{
	border-top: 3px solid #08a22f
}

.minHeight{
	min-height: 400px;
}

.customTable td{
	padding-left: 5px;
	padding-right: 5px;
}

.googlemaps {
        position: relative;
        padding-bottom: 100%; 
        height: 0;
        overflow: hidden;
    }
    .googlemaps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }




/* Site adjustments migrated from the original Bootstrap 3 design. */
html { scroll-behavior:smooth; }
body { font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size:14px; line-height:1.42857143; color:#333; }
h1,h2,h3 { font-family:inherit; font-weight:500; line-height:1.1; margin-top:20px; margin-bottom:10px; }
h1 { font-size:36px; } h2 { font-size:30px; } h3 { font-size:24px; }
p { margin:0 0 10px; }
a { color:#337ab7; }
a:hover { color:#23527c; }
/* Bootstrap 5 container max widths are intentionally close to Bootstrap 3. */
@media(min-width:768px){.container{max-width:750px}}
@media(min-width:992px){.container{max-width:970px}}
@media(min-width:1200px){.container{max-width:1170px}}
.container-fluid{--bs-gutter-x:30px}
.row { --bs-gutter-x:30px; }
/* The old responsive images and thumbnails should look familiar. */
.thumbnail { display:block; padding:4px; margin-bottom:20px; line-height:1.42857143; background:#fff; border:1px solid #ddd; border-radius:4px; }
.thumbnail img{max-width:100%;height:auto}
.thumbnail .caption { padding:9px; color:#333; }
/* Old nav-pills: pale highlight, full-width columns. */
.site-nav .nav-link,.site-footer-nav .nav-link { border-radius:4px; padding:10px 15px; line-height:20px; }
.site-nav .nav-link:hover,.site-footer-nav .nav-link:hover {background:#eee;}
.site-nav .nav-link:focus-visible,.site-footer-nav .nav-link:focus-visible{outline:2px solid #08a22f;outline-offset:2px}
.site-nav .dropdown-menu {font-size:14px;}
.site-nav .dropdown-item { white-space:normal; padding:5px 15px; }
.site-nav .dropdown-item:hover {background:#f5f5f5}
.site-nav .nav-item { min-width:0 }
.site-nav .nav-item > .nav-link {white-space:normal}
.site-footer-nav .nav-link {color:#9d9d9d;}
.site-footer-nav .nav-link:hover{color:#333;}
.site-footer-nav .nav-link[aria-expanded="true"]{color:#fff;}
.site-footer-nav .nav-link{display:block;text-align:left;}
.site-footer-nav ul {list-style:none;}
.site-footer-nav .nav-link.sub-link{padding-left:28px}
.site-nav .mobile-toggle{min-width:45px}
/* Bootstrap 3-era form appearance. */
.form-control {font-size:14px;}
.btn{font-size:14px;}
.btn-default{color:#333;background:#fff;border:1px solid #ccc}
.btn-default:hover{background:#e6e6e6;border-color:#adadad}
/* Image grid and carousel remain the same height at desktop sizes. */
.carousel {margin-top:60px;height:300px;margin-bottom:60px;}
.carousel-inner,.carousel-item {height:300px;background:#777;}
.carousel-item img {width:100%;height:300px;object-fit:cover;object-position:center;}
.carousel-control-prev,.carousel-control-next{width:15%}
.carousel-indicators{margin-bottom:1rem}
.img-fluid {max-width:100%;height:auto;}
/* Icons supplied as text symbols rather than an unsupported icon font. */
.site-icon {display:inline-block;min-width:1.25em;text-align:center;font-style:normal}
/* Responsive map with consent gate (no automatic Google Maps request). */
.googlemaps {aspect-ratio:1 / 1; width:100%; height:auto; position:relative; background:#f0f0f0; border:1px solid #ddd;}
.googlemaps iframe {display:block;width:100%;height:100%;border:0;}
.map-consent{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;height:100%;gap:12px}
.map-consent p{max-width:30rem}
.form-trap {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Modern, keyboard-usable gallery dialog; all content is self-hosted. */
.gallery-dialog {width:min(94vw,1040px);max-width:1040px;border:0;padding:0;border-radius:6px;background:#171717;color:#fff;box-shadow:0 15px 55px #0008;}
.gallery-dialog::backdrop{background:rgba(0,0,0,.88)}
.gallery-content{display:flex;flex-direction:column;align-items:center;position:relative;min-height:220px}
.gallery-display{width:100%;height:min(75vh,750px);object-fit:contain;display:block}
.gallery-close,.gallery-prev,.gallery-next{position:absolute;z-index:2;border:0;background:rgba(0,0,0,.68);color:white;cursor:pointer;font-size:26px;border-radius:4px;min-width:44px;min-height:44px}
.gallery-close{top:10px;right:10px}.gallery-prev{left:10px;top:45%}.gallery-next{right:10px;top:45%}
.gallery-close:focus-visible,.gallery-prev:focus-visible,.gallery-next:focus-visible{outline:3px solid #fff;outline-offset:2px}
.gallery-caption{text-align:center;padding:12px 50px 17px;line-height:1.4}
.gallery-extra {display:none!important}
@media(max-width:767.98px){
 h1{font-size:29px}h2{font-size:27px}
 .carousel {margin-top:20px}
 .minHeight{min-height:0}
 .margin100{margin-top:55px}
 .row {--bs-gutter-x:24px}
 .site-nav-mobile .nav-link{padding:9px 10px}
}

/* Team overview (four staff members) */
@media(min-width:992px){ .thumbnail.minHeight{min-height:420px;} }
.thumbnail .caption h3{hyphens:auto;overflow-wrap:break-word;}
#annavonharnier,#corneliakosch,#robertwerres,#sarahflinch{scroll-margin-top:30px;}


/* Contact page: generous grey space beneath the send button / status notice. */
.contact-form-section { padding-bottom: 85px; }
@media(max-width:767.98px) { .contact-form-section { padding-bottom: 65px; } }

/* Team overview: center the portrait circles above every card. */
.team-overview .thumbnail > a:first-child { display:block; text-align:center; }
.team-overview .thumbnail > a:first-child img {
    display:block;
    margin-left:auto;
    margin-right:auto;
    width:120px;
    height:120px;
    object-fit:cover;
}

/* Small self-hosted vector icons; independent of old Bootstrap Glyphicons. */
.contact-icon { display:inline-block; width:16px; height:16px; vertical-align:-3px; margin-right:5px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
