/* reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
	margin: 1em 0;
}

p, ul, ol, dl, section, article, aside {
	margin-bottom: 1rem;
	margin-top: 1rem;
}

ul, ol {
	padding-left: 2rem;
}


:root {
    --green: #0093ff;
    --white: #F4F5F0;
    --gold: #0A62D0;
    --secondary: #dfdfdf;
    --red: #CD212A;
    --black: #000000;
    --blue: #33b8ff;
    --darkblue: #000099; 
    --orange: #ffffff;
    --border: #ffffff;
 
    /* the same with 50% luminosity */
    --main-text-color: var(--black);
    --darkgreen: #004623;
    --darkwhite: #7A7A78;
    --darkred: #661015;
	
}

.lining {
	font-variant-numeric: lining-nums;
}

.fa-asterisk.fine-print {
	vertical-align: super;
	font-size: xx-small;
}




body {
	background-color: var(--light);
	font-family: Lato, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-variant-numeric: oldstyle-nums;
}

a {
	color: var(--orange);
	text-decoration: none;
}
a:hover {
	color: var(--orange);
	text-decoration: underline;
}

nav {
	background-color: var(--secondary);
}
/* begin override bootstrap */
.navbar-light .navbar-toggler {
	color: var(--gold);
	border-color: var(--gold);
}
.navbar-light .navbar-toggler:hover {
	background-color: var(--orange);
}
.nav-item { 
	text-align: center;
	width: 100%;
}
.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
	color: var(--gold);
	text-decoration: none;
}
.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover {
	color: var(--gold);
}
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
	color: var(--gold);
}
.navbar-light .nav-item:hover {
	background-color: var(--orange);
	color: var(--gold);
}
.navbar-brand img {
	height: 3rem;
}

.btn {
	color: var(--black);
	background-color: var(--gold);
	border-color: var(--black);
}
.btn:hover {
	color: var(--black);
	background-color: var(--darkwhite);
	border-color: var(--black);
}
.btn:focus {
	box-shadow: none;
}
.btn-success {
	color: var(--gold);
	background-color: var(--orange);
	border-color: var(--darkblue);
}
.btn-success:hover {
	color: var(--gold);
	background-color: var(--orange);
	border-color: var(--black);
}
.btn-danger,
.btn-danger:not([href]):not([tabindex]):focus,
.btn-danger:not([href]):not([tabindex]):hover,
.btn-danger:not([href]):not([tabindex]) {
	color: var(--white);
	background-color: var(--red);
	border-color: var(--red);
}
.btn-danger:hover {
	color: var(--white);
	background-color: var(--darkred);
	border-color: var(--black);
}
.btn-danger:not([href]):not([tabindex]):focus,
.btn-danger:not([href]):not([tabindex]):hover,
.btn-danger:not([href]):not([tabindex]) {
	cursor: not-allowed;
}
/* end override bootstrap */

.lining {
	font-variant-numeric: lining-nums;
}

.width-protector {
	overflow: auto;
}

.button-group {
	text-align: center;
}
.button-group > * {
	margin: 0.25rem;
}

.content {
	background-color: var(--gold);
	color: var(--black);
	border-radius: 0.5rem;
	padding: 1rem;
}

.info {
	background-color: var(--secondary);
	color: var(--gold);
	border-radius: 0.5rem;
	margin: 0.5rem 0;
	text-align: center;
}
.info ul {
	list-style-type: none;
	padding: 0.25rem;
	margin: 0;
}
.info li {
	margin: 0.25rem auto;
}

.sponsors {
	background-color: var(--gold);
	color: var(--white);
	border-radius: 0.5rem;
	text-align: center;
	margin: 0.5rem 0;
	padding: 1rem;
}
.sponsors h1 {
	margin: 1rem auto;
}
.sponsors ul {
	list-style-type: none;
	padding: 0.25rem;
	margin: 0;
}

.sponsors-sidebar {
	grid-area: sponsors;
	margin: 1rem 0;
	text-align: center;
}

.sponsors-sidebar ul {
	display: flex;
	flex-flow: column;
	justify-content: space-evenly;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sponsors-sidebar li {
	padding: 1rem;
}

.sponsors-sidebar img {
	border: 0;
}


/* Set sizes on sponsor logos */

.sponsors-sidebar .sponsor-Platinum img { width: 200px; height: 80px; object-fit: contain; }
.sponsors-sidebar .sponsor-Gold     img { width: 150px; height: 60px; object-fit: contain; }
.sponsors-sidebar .sponsor-Silver   img { width: 125px; height: 50px; object-fit: contain; }


.company-wrapper {
	display: inline-flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
	text-align: center;
	width: 100%;
}
.company-wrapper div {
	margin: 1rem;
}
.company-wrapper div p {
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	margin-bottom: 0;
	text-align: justify;
	text-align-last: center;
}
.company-wrapper hr {
	display: none;
}

/* override the above for Platinum */
.company-wrapper.Platinum-sponsor {
	flex-flow: column nowrap;
}
.company-wrapper.Platinum-sponsor div {
	background-color: var(--gold);
	border: 0.2rem solid var(--orange);
	margin: 0 0 1rem;
	padding: 1rem;
}

/* override the above for Gold */
.company-wrapper.Gold-sponsor div {
	background-color: var(--gold);
	border: 1px solid var(--orange);
	margin: 0 0 1rem;
	max-width: calc(225px + 4rem);
	min-width: calc(50% - 1rem);
	padding: 1rem;
}

.company-wrapper img {
	border: 0;
	max-width: 100%;
}

/* override the above for Silver */
.company-wrapper.Silver-sponsor p.interview-link {
	margin: 0;
	font-size: smaller;
}

/* override the above for Silver */
.interview-jobs-link {
        display: flex;
        flex-wrap: wrap;
        font-size: smaller;
        justify-content: space-around;
        list-style: none;
        margin: 1rem 0 0;
        padding: 0;
}  

/* Set sizes on sponsor logos */
.company-wrapper.Platinum-sponsor img { width: 300px; height: 120px; object-fit: contain; }
.company-wrapper.Gold-sponsor     img { width: 225px; height:  90px; object-fit: contain; }
.company-wrapper.Silver-sponsor   img { width: 190px; height:  76px; object-fit: contain; }
.company-wrapper.Bronze-sponsor   img { width: 150px; height:  60px; object-fit: contain; }



.main-footer {
	background-color: var(--secondary);
	color: var(--gold);
	text-align: center;
}
.main-footer p {
	margin-bottom: 0;
}
.main-footer a {
	color: var(--gold);
	text-decoration: underline;
}

.footer-nav {
	display: flex;
	justify-content: center;
	flex-flow: row wrap;
}
.footer-nav ul {
	-webkit-columns: 150px 4;
	        columns: 150px 4;
	-webkit-column-rule: 1px solid var(--gold);
	        column-rule: 1px solid var(--gold);
	-webkit-column-gap: 1rem;
	        column-gap: 1rem;
	font-size: small;
	list-style-type: none;
	padding: 0;
	margin: 1rem;
}
.footer-nav ul a {
	text-decoration: none;
}
.footer-nav ul a:hover {
	text-decoration: underline;
}

/* begin index.html */
.index-page {
	text-align: center;
}

.banner {
	background: url("/https/2024.pgconf.de/static/img/munich.png") no-repeat center center;
	background-size: cover;
}
.banner h1, .banner h2, .banner h3 {
	font-weight: bold;
	text-shadow: 0 0 0.5em var(--gold), 0 0 0.5em var(--gold);
}
.banner .lead {
	background-color: rgba(0, 0, 0, 0.65); 
	color: var(--gold);
	padding: 1rem;
}
.banner a, .banner a:hover {
	text-decoration: underline;
}

#newsContainer {
	text-align: left;
}
.newsWrapper {
	border: 1px solid var(--orange);
	border-radius: 1rem;
	margin: 1rem auto;
	padding: 1rem;
	line-height: 1rem;
	max-width: 90%;
}
.newsTitle {
	font-weight: bold;
	font-size: 1.5rem;
	margin-bottom: 0;
}
.newsDateAndByline {
	font-size: small;
}
.newsByline {
	font-style: italic;
}
/* end index.html */


/* begin becomesponsor.html */
.fas.fa-asterisk {
	color: var(--red);
	font-size: x-small;
	vertical-align: super;
}

.endorsement {
	font-weight: bold;
}

.sold-out {
	color: var(--red);
	font-weight: bold;
}

.becomesponsortext {
	color: var(--orange);
}
/* end becomesponsor.html */

/* begin organisation.html */
.org-member-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 800px;
	margin: 0 auto 1rem;
}
.org-member {
	text-align: center;
	width: calc(150px + 2rem);
	margin: 1rem;
}
.org-member-list.tight .org-member {
	margin: 0.5rem;
}
.org-member img {
	border-radius: 1rem;
	display: inline-block;
        object-fit: cover;
}
.org-member .name {
	font-size: larger;
	font-weight: bold;
	margin-bottom: 0;
}
.org-member .company {
	margin-bottom: 0;
	font-variant-numeric: lining-nums;
}

.volunteers {
	margin-bottom: 1rem;
	text-align: center;
}
.volunteers p {
	margin-bottom: 0.5rem;
}
.volunteers ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	padding: 0;
	list-style-type: none;
}
.volunteers ul li {
	font-weight: bold;
	margin-right: 1ch;
}
.volunteers ul li:not(:last-of-type):after {
	content: ","
}
/* end organisation.html */

/* begin registration.html */
@media (max-width: 768px) {
	.registration-levels tr {
		display: inline-grid;
		grid-template-columns: 2fr 1fr 1fr;
		width: 100%;
	}
	.registration-levels td:nth-of-type(3),
	.registration-levels th:not(:first-of-type) {
		text-align: center;
	}
	.registration-levels td:not(:nth-of-type(4)) {
		font-weight: bold;
	}
	.registration-levels td:nth-of-type(4) {
		font-style: italic;
		font-size: smaller;
	}
	.registration-levels th:nth-of-type(4) {
		display: none;
	}
	.registration-levels td:nth-of-type(4) {
		grid-column: span 3;
	}
	.registration-levels thead {
		border-bottom: 1px solid var(--black);
	}
	.registration-levels tr:not(:last-of-type) td:nth-of-type(4) {
		border-bottom: 1px solid var(--darkwhite);
	}
	.registration-levels .regcol strong {
		font-style: italic;
	}
}

table.registration-levels {
	min-width: 50%;
	margin: 1rem auto;
	border: 1px solid var(--black);
}
table.registration-levels thead {
	background-color: var(--orange);
	color: var(--gold);
	font-weight: bold;
}
table.registration-levels td, table.registration-levels th {
	padding: 0.25rem 0.5rem;
}
table.registration-levels td:nth-child(2), table.registration-levels th:nth-child(2) {
	text-align: center;
	white-space: nowrap;
}
table.registration-levels td:nth-child(3) {
	white-space: nowrap;
}
table.registration-levels th .fa-asterisk {
	color: inherit;
}

table.cancellation {
	min-width: 50%;
	margin: 1rem auto;
	border: 1px solid var(--black);
}
table.cancellation thead {
	background-color: var(--orange);
	color: var(--gold);
	font-weight: bold;
}
table.cancellation td, table.cancellation th {
	padding: 0.25rem 0.5rem;
}
table.cancellation td:nth-child(2), table.cancellation th:nth-child(2) {
	text-align: center;
}
/* end registration.html */

/* begin wikipage.html */
.wikicontents table tr td  {
    padding: 3px;
}

.wikicontents table tr th {
    padding: 3px;
    background-color: lightgray;
    border-bottom: 1px solid gray;
}

.wikicontents table {
    border: 1px solid gray;
}

/* end wikipage.html */


.infobox, #registration-countdown {
        background-color: var(--gold);
        border: 0.25rem solid var(--border);
        color: black;
        font-weight: bold;
        grid-area: info;
        margin: 1rem 0;
        text-align: center;
}

.infobox ul {
        list-style: none;
        margin: 0;
        padding: 0.5rem 0;
}

.infobox hr {
        border: none;
        border-top: 1px solid black;
        margin: auto;
        width: 75%;
}


/* begin speaker-interviews.html */
.speaker-interviews {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.interview {
	text-align: center;
	width: calc(100px + 2rem);
	margin: 1rem;
}
.interview .picture-frame {
	display: inline-block;
	width: 100px;
	height: 100px;
}
.interview img {
	border-radius: 1rem;
	display: inline-block;
	max-width: 100px;
	max-height: 100px;
}
.interview .name {
	font-size:larger;
	font-weight: bold;
	margin-bottom: 0;
}
.interview-questions dt {
	margin-bottom: 0.5rem;
}
.interview-questions dd {
	margin-bottom: 1rem;
	margin-left: 1rem;
}
/* end speaker-interviews.html */

/* begin sponsors.html */
.platinum-sponsor, .gold-sponsor, .silver-sponsor, .bronze-sponsor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.platinum-sponsor > a {
	width: 300px;
	height: 120px;
	text-align: center;
	margin: 1rem;
}
.platinum-sponsor img {
	max-width: 300px;
	max-height: 120px;
}
.platinum-sponsor p {
	width: 100%;
	font-size: larger;
	text-align: center;
}

.gold-sponsor > a {
	width: 225px;
	height: 90px;
	text-align: center;
	margin: 1rem;
}
.gold-sponsor img {
	max-width: 225px;
	max-height: 90px;
}
.gold-sponsor p {
	width: 90%;
	text-align: center;
}

.silver-sponsor > a {
	width: 190px;
	height: 76px;
	text-align: center;
	margin: 1rem;
}
.silver-sponsor img {
	max-width: 190px;
	max-height: 76px;
}

.bronze-sponsor > a {.infobox, #registration-countdown {
        background-color: var(--blue);
        border: 0.25rem solid black;
        color: white;
        font-weight: bold;
        grid-area: info;
        margin: 1rem 0;
        text-align: center;
}

	width: 150px;
	height: 60px;
	text-align: center;
	margin: 1rem;
}
.bronze-sponsor img {
	max-width: 150px;
	max-height: 60px;
}
/* end sponsors.html */

/* begin interview.html */
.interview-talks {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	justify-content: center;
	text-align: center;
}
.interview-talks li {
	margin: 0 1rem;
}
.interview-socials {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	list-style-type: none;
	padding: 0;
}
.interview-socials li {
	margin: 0 1rem;
	text-align: center;
}
/* end interview.html */


@media (min-width: 768px) {
	.grid-wrapper {
		display: grid;
		grid-template-areas:
		"nav			nav"
		"content		info"
		"content		sponsors"
		"content		."
		"footer			footer";
		grid-gap: 1rem;
		grid-template-columns: 1fr calc(200px + 4rem);
		width: calc(100% - 2rem);
		margin: 1rem auto;
	}

	nav {
		grid-area: nav;
		border-radius: 0.5rem;
	}

	.content {
		grid-area: content;
	}

	.info {
		grid-area: info;
		margin: 0;
	}

	.sponsors {
		grid-area: sponsors;
		margin: 0;
	}

	.main-footer {
		grid-area: footer;
		border-radius: 0.5rem;
	}

	/* begin override bootstrap */
	.navbar-expand-md .navbar-collapse {
		justify-content: space-evenly;
		flex-wrap: wrap;
	}
	.nav-item { 
		width: auto;
	}
	/* end override bootstrap */
}

@media (min-width: 1200px) {
	.grid-wrapper {
		width: 1180px;
	}
}

/*
 * Temporary, for registration form
 */
div.regwrap select,
div.regwrap input[type="text"],
div.regwrap input[type="email"],
div.regwrap textarea {
   width: 100%;
}
form div.regwrap input[type="submit"] {
   margin-top: 0.5rem;
   width: 100%;
}

ul.regdashboardmessage {
   background-color: transparent !important;
}

.sponsors-only {
	color: var(--red);
}

.important-note {
	background-color: rgba(205, 33, 42, 0.25); /* var(--red) at 25% opacity */
	border-radius: 0.5rem;
	border: 1px solid var(--red);
	margin: 1rem auto;
	padding: 1rem;
	width: 75%;
}

.important-note div {
	float: left;
	font-size: xx-large;
	margin-right: 1rem;
}

.important-note p:last-of-type {
	margin-bottom: 0;
}

