/* Courier prime font */
@font-face {
  font-family: "Courier Prime";
  font-style: normal;
  font-weight: normal;
  src: url("CourierPrime-Regular.ttf");
}
@font-face {
  font-family: 'Courier Prime';
  font-style: italic;
  font-weight: normal;
  src: url('CourierPrime-Italic.ttf');
}
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: bold;
  src: url('CourierPrime-Bold.ttf');
}
@font-face {
  font-family: 'Courier Prime';
  font-style: italic;
  font-weight: bold;
  src: url('CourierPrime-BoldItalic.ttf');
}
@font-face {
  font-family: 'Outfit';
  font-weight: 400 800;
  src: url('fonts/Outfit-VariableFont_wght.ttf');
}
@font-face {
  font-family: 'JetBrains';
  font-weight: 400 800;
  src: url('fonts/JetBrainsMono-VariableFont_wght.ttf');
}
@font-face {
  font-family: 'Albert Sans';
  font-weight: 400 800;
  src: url('fonts/AlbertSans-VariableFont_wght.ttf');
}



ul#contact {
  list-style: none;
}
ul#participants {
  list-style: none;
  text-align: left;
  padding: 0;
}
@media only screen and (min-width: 800px) {
  ul#participants {
    column-count: 1;
  }
}

#participants {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0px;
}


#participants td:first-child {
  width: 220px;
}

#participants td,tr {
  border: none;
  text-align: left;
  vertical-align: top;
}

.speaker strong {
  /*display: block;*/
  font-size: 0.95em;
  font-weight: 600;
}

.affiliation {
  font-size: 0.8em;
  color: #666;
}

.schedule {
    display: flex;
    flex-direction: column;
    gap: 1vh;
    width:90%;
    margin: auto;
}

.schedule-row {
    display: grid;
    grid-template-columns: 18% 82%;
    font-family: 'Albert Sans', sans-serif;
    align-items: center;
}

.schedule-time {
    text-align: left;
    border-right: 2px solid #555;
    padding: 1vh 2%;
    font-size: 3vh;
    line-height: 1.3;
}

.schedule-event {
    padding: 1vh 3%;
    font-size: 3vh;
}



details summary {
  cursor: pointer;
  font-size: 0.95em;
}

details p {
  text-align: justify;
  line-height: 1.5;
}

ul#howtogetto {
  list-style: none;
  padding: 0;
  padding-left: 1em;
}

img#portrait {
  float: left;
  height: 15em;
  padding: 0em 2em 0em 2em;
}

img#thesis {
  float: left;
  height: 10em;
  padding: 0em 2em 0em 2em;
}

w3-container > img {
  padding-top:20px;
}

table#cv {
/*  padding-left:1em;*/
}
table#cv td {
  vertical-align: top;
/*  padding-right:1em;*/
  padding-bottom:0.5em;
}


body, html {
  height: 100%;
  color: #555;
  line-height: 1.8;
  font-size: 14pt;
  font-family: "Helvetica", "Arial", sans-serif;
}

footer {
  margin-top: 5em;
}

h1,h2,h3,h4,h5,h6 {font-family: "JetBrains", monospace;}
h3 {
  letter-spacing: 3pt;
  font-size: 18pt;
}

a {
  color: #006AB3;
  text-decoration: none;
}
a:visited {
  color: #003d66;
}
a:hover {
  color: #00b359;
  text-decoration: underline;
}
a.w3-button {
  color: white;
  font-family: "JetBrains", monospace;
  font-size: 16pt;
}
a.w3-button:visited {
  color: white;
}
a.w3-button:hover {
  text-decoration: none;
}
a[href*="//"]:not([href*="markus-heinrich.eu"]):after {
  font-family: 'Font Awesome 6 Free';
  content: "\f08e";
  font-weight: 900;
  padding-left: 5px;

}

.text-small {
  font-size: 12pt;
}

/* Create a Parallax Effect */
.bgimg-1, .bgimg-2, .bgimg-3 {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}


/* First image (Logo. Full height) */
.bgimg-1 {
  /*background-image: url("img/squares.svg");*/
  min-height: 100%;
}

@media only screen and (min-width: 1500px) {
  .bgimg-1 { background-size: 90%; }
}

.w3-wide {letter-spacing: 10pt;}
.w3-hover-opacity {cursor: pointer;}

.w3-content {
  text-align: justify;
}

.flex-container {
  height:100%;
  display:flex;
  justify-content:center;
  align-items: center;
  flex-direction: column;
}

.inline {
  display:inline-block;
}

.title-image {
  border:2px solid white;
  width:300px;
}

.courier {
  font-family: "JetBrains", monospace;
}

.decoration-break {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

div.myframe {
  background-color: white;
  border: 5px solid #555;
}

div.mycontent {
  background-color: white;
}

div#register {
  background-color: white;
  text-align: left;
}





table.program {
  width:200%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 11pt;
}
@media only screen and (min-width: 800px) {
  table.program {
    width:150%;
  }
}

/*.program thead tr {
  border-top: 2px solid #555;
  border-bottom: 2px solid #555;
}
.program tbody tr {
  border-bottom: 1px solid #555;
}*/
.program tbody {
  color: #333;
}
.program th,td {
  text-align: center;
  padding:0.5em;
  border: 2px solid #787878;
  vertical-align: middle;
  box-sizing: border-box;
  overflow: hidden;
}
.program th:first-of-type {
  width:4em;
}
td.talk {
  background: #59ddc7;
}
td.session  {
  background: #8fdaff;
}
td.misc {
  background: #faff5b;
}

td.misc {
  background: #faff5b;
}
td.time {
  width: 90px;
  background: #f8f8f8;
  font-weight: normal;
}


/* form */

input[type="text"],
input[type="email"],
input[type="password"], 
input[type="number"],
textarea,
select {
  width:100%;
  padding: 0.25em;
  box-sizing: border-box; 
  border: 0.05em solid #aaa;
  border-radius: 0.3em;
}

input#travel_support_justification {
  width:10em;
  padding-top:0px;
  padding-bottom:0px;
}
input#travel_support_amount_EUR {
  width:4em;
  padding-top:0px;
  padding-bottom:0px;
}

form#register div {
  margin-bottom: 1em;
}

div.hline {
  padding-top: 1em;
  margin-bottom: 1em;
  border-top: 0.05em solid #aaa;
}

.center-image {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 75%;
}

/* Turn off parallax scrolling for tablets and phones */
/*@media only screen and (max-device-width: 1600px) {
  .bgimg-1, .bgimg-2, .bgimg-3 {
    background-attachment: scroll;
    min-height: 400px;
  }
}*/

/* styling for small devices */
@media only screen and (max-width: 400px) {
  .title-image {
    width:250px;
  }
}
@media only screen and (max-width: 610px) {
  .hide-small {
    display:none;
  }
}
@media only screen and (min-width: 610px) {
  .hide-big {
    display:none;
  }
}
@media only screen and (max-width: 831px) {
  .center-title-small {
    text-align: center !important;
    margin-top:1em;
  }
}
@media only screen and (max-width: 870px) and (min-width: 831px) {
  .center-title-small {
    text-align: center !important;
    margin-top:1em;
    margin-left:1em;
  }
}
@media only screen and (min-width: 870px) {
  .center-title-small {
    vertical-align: middle;
    margin-left:1em;
  }
@media only screen and (max-width: 600px) {
  .display-middle-small {
    position:absolute;
    top:50%;left:5%;
    transform:translate(0%,-50%);-ms-transform:translate(0%,-50%);
    width:;
  }
}


/* Registration Form Styles*/

/* Form styling improvements */
#register {
    /*max-width: 800px;*/
    margin: 0 auto;
    background: white;
    /*padding: 2em;*/
    box-shadow: 0 0.2em 1em rgba(0,0,0,0.1);
}

#register > div {
    margin-bottom: 2.5em;
}

.form-section-title {
    font-weight: 600;
    /*color: #000;*/
    margin-top: 2em;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid #555;
}

#register label {
    display: block;
    margin-top:1em;
    margin-bottom: 0.2em;
    font-weight: 600;
    /*color: #333;*/
    font-size: 90%;
}

#register span {
    font-size: 80%;
    font-style: italic;
    line-height: 1;
}

#register input[type="text"],
#register input[type="email"],
#register input[type="number"],
#register select,
#register textarea {
    width: 100%;
    padding: 0.5em;
    border: 1px solid #ddd;
    border-radius: 0.4em;
    font-size: 90%;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

#register input[type="text"]:focus,
#register input[type="email"]:focus,
#register input[type="number"]:focus,
#register select:focus,
#register textarea:focus {
    outline: none;
    border-color: #000;
}

#register input[type="radio"],
#register input[type="checkbox"] {
    margin-right: 0.5em;
    margin-left: 0.5em;
}

#register input[type="radio"] + label {
    display: inline;
    font-weight: normal;
    /*margin-right: 20px;*/
    /*margin-bottom: 10px;*/
}
#register input[type="checkbox"] + label {
    display: inline;
    font-weight: normal;
    /*margin-right: 20px;*/
    /*margin-bottom: 10px;*/
}

.radio-option {
    display: block;
    /*margin: 10px 0;*/
    padding: 0.5em;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.radio-option:hover {
    background-color: #f5f5f5;
}

#register #travel_support_amount_EUR,
#register #travel_support_justification,
#register #research_interests_other  {
    display: inline-block;
    width: auto;
    margin: 0 5px;
}

#register #travel_support_amount_EUR {
    width: 5em;
    padding: 0.25em;
}

#register #travel_support_justification,
#register #research_interests_other {
    width: 10em;
    padding: 0.25em;
}

#register button[type="submit"] {
    background-color: #000;
    color: white;
    padding: 15px 40px;
    border: none;
    border-radius: 4px;
    /*font-size: 16px;*/
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 2em;
}

#register button[type="submit"]:hover {
    background-color: #333;
}

@media (max-width: 768px) {
    #register {
        padding: 20px;
    }
    
    #register #travel_support_justification,
    #register #research_interests_other {
        width: 150px;
    }
}
