:root {
	/* colors */

	--body-bg: #eefbfc;
	--body-fg: #005D5D;

	--header-bg: #009898;
	--header-fg: #A6F2B8;

	--nav-bg: #A6F2B8;
	--nav-fg: #009898;
	--nav-select-bg: #009898;
	--nav-select-fg: #A6F2B8;
	--nav-hover-bg: #2EB8B8;
	--nav-hover-fg: #A6F2B8;

	--footer-bg: #f7ecca;
	--footer-fg: #5c4d3c;

	--img-border: #707070;

	/* margins */

	--footer-height: 14em;

	/** widths */
	--small-screen-width: 450px;
}

.color-primary-0 { color: #009898 }	/* Main Primary color */
.color-primary-1 { color: #2EB8B8 }
.color-primary-2 { color: #80ed99 }

.color-complement-0 { color: #FF9640 }	/* Main Complement color */
.color-complement-1 { color: #FFE6D1 }
.color-complement-2 { color: #FFB87D }
.color-complement-3 { color: #FD7300 }
.color-complement-4 { color: #9A4600 }


html, body {
	height: 100%;
	color: var(--body-fg);
	background-color: var(--footer-bg);
}

a:hover {
	text-decoration: none;
}

/*
img {
	border-radius: 2px;
	border: 1px solid var(--img-border);
}
*/

#page-container {
	position: relative;
	min-height: 100vh;
	background-color: var(--body-bg);
}

#header {
	background-color: var(--header-bg);
	color: var(--header-fg);
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	text-align: center;
}

#header a {
	color: inherit !important;
}

#nav-header {
	background-color: var(--nav-bg);
	color: #2EB8B8;
	border-bottom: 1px solid #009898;
}

#content {
	padding: 40px 40px calc(var(--footer-height) + 40px) 40px;
}

/* see https://www.freecodecamp.org/news/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c/ */
#footer {
	position: absolute;
	bottom: 0;
	height: var(--footer-height);
	width: 100%;
	background-color: var(--footer-bg);
	color: var(--footer-fg);
	border-top: 1px solid var(--footer-fg);
	padding: 10px 0 20px 0;
}

#footer a {
	color: var(--footer-fg);
}

#footer a:hover {
	background-color: var(--footer-fg);
	color: var(--footer-bg);
}

#privacy-policy p {
    margin-bottom: 1em;
}

#privacy-policy p.last {
    margin-bottom: 2em;
}

#privacy-policy p.indent {
    margin-left: 2em;
}

#privacy-policy em {
    font-style: normal;
    text-decoration: underline;
    text-decoration-style: solid;
}

#privacy-policy ul {
    margin-top: 0.5em;
}

.dr-page-title {
	font-size: 36px;
	display: inline;
	margin-right: 1em;
	white-space: nowrap;
}

@media (max-width: 450px) {
	.dr-page-title {
		font-size: 24px;
	}
}

.dr-page-subtitle {
	font-size: 18px;
	display: inline;
	white-space: nowrap;
}

@media (max-width: 450px) {
	.dr-page-subtitle {
		font-size: 16px;
	}
}

.dr-person {
	text-align: center;
}

.dr-portrait-img {
	float: left;
	width: 150px;
	height: 200px;
	margin: 0 1.5em 1.5em 0;
	border-radius: 2px;
	border: 1px solid var(--img-border);
}

.dr-landscape-img {
	float: right;
	width: 200px;
	height: 150px;
	margin: 0 0 1.5em 1.5em;
	border-radius: 2px;
	border: 1px solid var(--img-border);
}

.dr-dock-right-img {
	width: 450px;
	margin:0.5em 0 2em 2em;
	float: right;
	border-radius: 2px;
	border: 1px solid var(--img-border);
}

@media (max-width: 450px) {
	.dr-dock-right-img {
		width: 90%;
		margin: 2em auto 2em auto;
		display: block;
		float: none;
	}
}

.dr-person-title {
	font-size: smaller;
}

.dr-text-strong {
	font-style: italic;
}

.dr-link-padding {
	padding: 0 0.5em;
}

.dr-space-top {
	margin-top: 2em;
}

.dr-space-bottom {
	margin-bottom: 2em;
}

.dr-spacefix-1 {
	height: 1em;
}

.dr-spacefix-2 {
	height: 2em;
}

.dr-img-caption-top {
	margin-top: 1em;
	margin-bottom: 0.3em;
}

.dr-text-left {
	text-align: left;
}

.dr-text-right {
	text-align: right;
}

.dr-list li {
	padding-bottom: 0.5em;
}

.toc {
	float: right;
	border: 1px solid var(--nav-fg);
	background-color: var(--nav-bg);
	color: var(--nav-fg);
	padding: 1em 2em 1em 1em;
	margin: 20px 0 3em 3em;
}

.toc ul, .toc li {
	list-style-type: none;
	padding-left: 0.5em;
}

.toc a {
	color: var(--nav-fg);
}

.toc a:hover {
	background-color: var(--nav-hover-bg);
	color: var(--nav-hover-fg);
}

.toc p {
	font-style: italic;
}

.map {
	width: 100%;
	border: 1px solid var(--img-border);
}

.map img {
	border-radius: 0;
	border: 0;
}

.map-caption {
	text-align: right;
}

/* Key-value lists */

dl.table-display {
	margin: 0;
	padding-top: 0.5em;
}

.table-display dt {
	clear: left;
	float: left;
	width: 12em;
	margin: 0;
	padding: 0 0 0.5em 0;
	font-weight: normal;
}

.table-display dd {
	float: left;
	width: 80%;
	margin: 0;
	padding: 0 0 0.5em 1em;
}

.dr-page h4 {
	margin-top: 1em;
}

/* Bootstrap adjustments */

/* --------- navbar ----------- */
.navbar {
	margin-bottom: 0;
	border: none;
}

.navbar-default {
	background-color: inherit;
}

/*-- normal item colors --*/
.navbar-default .navbar-nav li a, .navbar-default .navbar-nav li a:focus {
	background-color: var(--nav-bg);
	color: var(--nav-fg);
}

/*-- selection (active item) colors --*/
.navbar-default .navbar-nav .active a, .navbar-default .navbar-nav .active a:focus {
    background-color: var(--nav-select-bg);
    color: var(--nav-select-fg);
}

/*-- hovered item colors --*/
.navbar-default .navbar-nav li a:hover, .navbar-default .navbar-nav .active a:hover {
	background-color: var(--nav-hover-bg);
	color: var(--nav-hover-fg);
}


/* --------- carousel --------- */

.carousel-caption {
	width: 100%;
	padding: 20px 40px;
	text-align: right;
	bottom: 0;
	left: 0;
}
