/** base **/

:root {
  --black: #262220;
  --brown: #A15C38;
  --lightbrown: #C3A6A0;
  --beige: #F7F1F0;


  --button-good-background-color: var(--brown);
  --button-good-text-color: var(--beige);
  --button-good-border-color: var(--black);
  --button-bad-background-color: var(--brown);
  --button-bad-text-color: var(--beige);
  --button-bad-border-color: var(--black);
  --link-bad-text-color: var(--brown);
}

/* Styles for the common elements across pages */
body {
    font-family: Lato, sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--black);
    display: flex;
  color: var(--beige);
    flex-direction: column;
    min-height: 100vh; /* Ensure the page takes at least the full height of the viewport */
}

header, footer {
    /*background-color: #333;*/
	background-color: var(--black);
    color: var(--beige);
    text-align: center;
    justify-content: center;
    align-items: center;
}

header a, footer a {
  color: var(--beige);
  font-weight: bold;
}

aside.info {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--brown);
  color: var(--beige);
  gap: 1rem;
  font-weight: bold;
  justify-content: space-evenly;
}
aside.info p {
  flex: 1 1 0;
  beige-space: nowrap;
  margin: 0.5rem;
  text-align: center;
}
aside.info a {
  color: var(--beige);
}

nav {
    background-color: var(--lightbrown);
    color: var(--beige);
    padding: 10px;
    text-align: center;
}

nav a {
    color: var(--beige);
    text-decoration: none;
    margin: 0 1rem;
    beige-space: nowrap;
}

input#nav-toggle {
    display: none;
}
@media (max-width: 1024px) {
    label#nav-toggle-label {
        display: inline-block;
        float: right;
        padding: 1rem;
    }
    nav a.top-nav {
        display: none;
    }
    #nav-toggle:checked ~ a {
        display: block;
        text-align: left;
        font-size: 1.2rem;
        padding: 0.3rem;
    }
}

main {
    grid-area: main;
  background-color: var(--beige);
  color: var(--black);
    flex: 1; /* Allow main content to grow and take remaining space */
    padding: 1rem;
  margin: 0.5rem;
  border-radius: 0.5rem;
}

main img {
	max-width: 100%;
}

a {
  color: var(--brown);
}

nav.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: 0.5rem;
}

nav.footer-nav ul {
  list-style-type: none;
  padding: 1rem;
  border: 1px dotted var(--beige);
  border-radius: 0.5rem;
  width: 10rem;
}

nav.footer-nav ul li:first-of-type {
  font-weight: bold;
  font-size: larger;
}

.headerdiv {
    display:flex;
    justify-content: center;
}

.headerlogo {
  border-radius: 0.5rem;
  height: 9.5rem;
  margin: 0.5rem 1rem;
}

.greek {
  font-family: Open Sans;
  font-weight: 650;
  font-size: 1.5rem;
}

.sponsors-sidebar {
    grid-area: sponsors;
    display: flex;
    flex-direction: column;
}

.sponsor-level {
    background: var(--beige);
    color: var(--black);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-evenly;
    padding: 1rem;
    border-radius: 0.5rem;
    margin: 0.5rem;
    text-align: center;
    list-style: none;
}

ul.sponsor-level li {
	width: 100%;
}
ul.sponsor-level li small.sponsor-interview {
	display: inline-block;
}

.sponsor-level.platinum li img { width: 200px; height: 80px; object-fit: contain; }
.sponsor-level.gold     li img { width: 150px; height: 60px; object-fit: contain; }
.sponsor-level.silver   li img { width: 125px; height: 50px; object-fit: contain; }

.sponsor-level-name {
    font-weight: bold;
    text-align: center;
    width: 100%;
}
.platinum .sponsor-level-name { font-size: 150%; }
.gold     .sponsor-level-name { font-size: 125%; }
.silver   .sponsor-level-name { font-size: 100%; }

.org-member-list {
    display: inline-flex;
    flex-flow: row wrap;
    justify-content: center;
    margin: 1rem 0;
    width: 100%;
}

.org-member-list-caption {
    margin-top: 0;
    text-align: center;
}

.org-member {
    margin: 1rem;
    display: inline-grid;
    text-align: center;
}
.org-member-list.tight .org-member {
    margin: 0.5rem;
}

.org-member img {
    border-radius: 10%;
    margin: auto;
    height: 150px;
    width: 150px;
    object-fit: cover;
}

.org-member .name {
    font-weight: bold;
}

.org-member .company {
    font-variant-numeric: lining-nums;
}

.org-member p {
    margin: 0;
}

/** index **/

#cfr-open {
    border: 0.3em solid var(--black);
    background-color: var(--brown);
    color: var(--beige);
    text-align: center;
	margin-bottom: 0.5em;
}

#cfr-open a {
    color: var(--beige);
    font-weight: bold;
}

#cfs-open {
    border: 0.3em solid var(--black);
    background-color: var(--brown);
    color: var(--beige);
    text-align: center;
}

#cfs-open a {
    color: var(--beige);
    font-weight: bold;
}

/** sponsors **/
.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;
}

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

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

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

/* override the above for Silver */
.company-wrapper.Silver-sponsor div {
    background-color: var(--beige);
    border: 1px solid var(--brown);
    margin: 0 0 1rem;
    width: 26%; /* Fit 3 */
    padding: 1rem;
}

/* override the above for Bronze */
.company-wrapper.Bronze-sponsor div {
    background-color: var(--beige);
    margin: 0 0 1rem;
    width: 21%; /* Fit 4 */
    border: 0;
}


.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; }


/** become-sponsor **/

.at-a-glance-wrapper {
  overflow-x: scroll;
}

.at-a-glance {
  max-width: 90%;
  margin: 0 auto;
  text-align: center;
}

.at-a-glance th[scope="row"] {
  text-align: left;
}


@media (width >= 64rem) {
    .grid-wrapper {
        display: grid;
        grid-template-areas: "sponsors main news";
        grid-template-columns: clamp(200px + 2rem, 250px + 5rem, 100%) 1fr;
        width: 64rem;
        margin: 0 auto;
    }
}

/** sponsor interviews **/
dl#sponsor-interview dt
{
    color: var(--brown);
    font-size: 120%;
    font-weight: bold;
	margin-bottom: 0.5em;
	margin-top: 1.5em;
}
dl#sponsor-interview dt:first-child {
	margin-top: 0;
}
dl#sponsor-interview dd {
	margin-left: 0;
	margin-bottom: 0.3em;
}

dl#sponsor-interview img {
    text-align: center;
}

#disclaimer {
    font-size: small;
    font-style: italic;
    padding-bottom: 1.5em;
}


/** call for papers **/
table#cfp_table tbody tr td textarea,
table#cfp_table tbody tr td input,
table#speakerprofile_table tbody tr td textarea,
table#speakerprofile_table tbody tr td input {
    width: 90%;
}

table#cfp_table tbody tr td input[type="checkbox"] {
    width: 1em;
    margin-left: -3em;
}

table#speakerprofile_table tbody tr td input[type="checkbox"] {
    width: 1em;
}

table#cfp_table tbody tr#tr_recordingconsent td {
    padding-left: 2em;
    text-indent: 1em;
}

table#cfp_table tbody tr#tr_recordingconsent td br {
    display: none;
}

form.pgeucfpform input[type="button"],
form.pgeucfpform input[type="submit"] {
    width: 20rem;
    margin-bottom: 1rem;
}

/** registration form **/
div.regwrap div.regleft input[type=text],
div.regwrap div.regleft input[type=email],
div.regwrap div.regleft textarea,
div.regwrap div.regleft select {
	width: 90%;
}

form.pgeuregform input[type=submit] {
	width: 100%;
	display: block;
	margin-top: 10px;
	margin-bottom: -1rem;
	padding: 4px;
}

/** registration static page **/
@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(--darkbeige);
	}
	.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(--brown);
	color: var(--beige);
	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;
	beige-space: nowrap;
}
table.registration-levels td:nth-child(3) {
	beige-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(--brown);
	color: var(--beige);
	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 */

/* code-of-conduct */

.coc-points-of-contact li {
	margin-bottom: 0.5rem;
}




/** general? controls **/
.button,
input[type="submit"],
a.btn,
button.pgeu-speaker-add {
    align-items: center;
    border-radius: 0.25rem;
    display: flex;
    text-decoration: none;
}

button.button,
a.btn {
    font-size: 1rem;
    padding: 0.25rem;
    cursor: pointer;
}

.button *,
a.btn *
{
    margin: 0.5rem;
}

.button:hover,
a.btn:hover {
    text-decoration: underline;
}

.button-good {
    background-color: var(--button-good-background-color);
    border: 1px solid var(--button-good-border-color);
    color: var(--button-good-text-color);
}

.button-bad {
    background-color: var(--button-bad-background-color);
    border: 1px solid var(--button-bad-border-color);
    color: var(--button-bad-text-color);
}

.link-bad {
    color: var(--link-bad-text-color);
}


p.notebox {
    border-radius: 0.4rem;
    border: 1px solid black;
    padding: 0.4rem;
    margin-left: 3rem;
    margin-right: 3rem;
    background-color: #ff0000;
}
