@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800;900&display=swap");
* {
  margin: 0;
  padding: 0; }

html,
body {
  margin: 0;
  padding: 0;
  height: auto;
  font-family: 'Poppins', 'Open Sans', sans-serif;
  font-size: 16px;
  scroll-behavior: smooth; }

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), black), url(../img/ostrakun_2025_webp.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: -1; }

body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', 'Open Sans', sans-serif;
  font-size: 1em;
  text-align: center;
  color: #FFFFFF;
  background-color: black;
  /* fallback color */
  scroll-behavior: smooth;
  position: relative;
  /* Needed for z-index layering */
  z-index: 0; }

#celofotka {
  width: auto;
  padding-left: 1%;
  padding-right: 1%;
  border-radius: 11px 11px 11px 11px;
  -webkit-border-radius: 11px 11px 11px 11px;
  -moz-border-radius: 11px 11px 11px 11px;
  border: 7px double rgba(0, 0, 0, 0.25); }

#celofotka img {
  width: 100%; }

#reference {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }

#reference img {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  padding: 1%;
  margin-right: 1%;
  width: 96%;
  height: 100%;
  margin-left: 1%; }

#reference a {
  text-decoration: none;
  width: 25%;
  height: 25%;
  margin-left: auto; }

#reference a:hover {
  text-decoration: none; }

.banner-button {
  display: flex;
  width: 33vw;
  max-width: 100%;
  height: auto;
  cursor: pointer;
  border: none;
  padding: 0;
  background: none;
  justify-content: center; }

.banner-button img {
  width: 100%;
  height: auto;
  display: block;
  border: 5px solid #151414;
  border-radius: 19px 19px 19px 19px; }

.content-rich a:link {
  font-size: 1em;
  color: #5eead9; }

.content-rich a:visited {
  font-size: 1em;
  color: #0f7568; }

.content-rich a:hover {
  font-size: 1em;
  color: #c1f8f3; }

ul {
  list-style-type: none; }

.banner {
  position: relative;
  width: 100%;
  height: auto; }

.banner p {
  font-size: 2em;
  color: #000;
  font-weight: 400;
  line-height: 3em; }

.flex,
header {
  display: flex;
  justify-content: center;
  position: absolute; }

header {
  text-align: left;
  width: 100%;
  position: relative;
  z-index: 1; }

.program {
  max-width: 100em;
  display: flex;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

.program > div:first-of-type {
  width: 110%;
  max-width: 95vw;
  overflow: auto;
  border: #756e5d solid 2px; }

.program > div:last-child {
  margin: 0 25px 5em 25px;
  padding: 2em 0px 5px 0px;
  max-width: 750px;
  text-align: justify; }

.program h2 {
  margin-bottom: 1em; }

.program h3 {
  text-align: center;
  font-size: 2em;
  text-transform: uppercase;
  color: #5eead9;
  margin: 0.5em 0 0.5em 0; }

.program center {
  padding: 7px; }

.program center b {
  text-transform: uppercase; }

.program a {
  text-decoration: underline;
  cursor: pointer; }

.program p {
  margin-bottom: 1em; }

.program em {
  color: #5eead9;
  font-size: 20px; }

.program small {
  display: none; }

.program big {
  display: flex;
  position: relative;
  padding-top: 10px;
  border-bottom: 1px solid #5eead9;
  padding-left: 20px;
  font-size: 2em; }

.program th {
  color: #5eead9;
  text-transform: uppercase;
  min-width: 10em;
  padding: 10px 0px 10px 0px;
  border-right: 1px solid #ffffff40;
  border-left: 1px solid #ffffff40; }

.program table:first-of-type {
  border: none;
  border-collapse: collapse; }

.program table:first-of-type td {
  border-right: 1px solid #ffffff40; }

.program table:first-of-type tbody {
  border-bottom: 1px solid #ffffff40; }

.program table:first-of-type tr {
  border-top: 1px solid #ffffff40; }

.program > table {
  width: 100%;
  height: 5em;
  margin-top: 2em; }

.program big::after {
  content: "";
  position: absolute;
  width: 1px;
  left: 0;
  background: #5eead9;
  top: 0;
  height: calc(100% - 30px);
  translate: 0 30px; }

.legend {
  width: 100%; }

.legend > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.legend > div > div {
  background-color: #3C78D8;
  padding: 20px;
  color: #FFFFFF;
  margin: 5px;
  text-transform: uppercase;
  font-weight: bold; }

#ReturnButton {
  position: fixed;
  max-width: 15vw;
  height: 2em;
  width: 2em;
  max-height: 15vw;
  display: flex;
  background-color: #5eead9;
  border-radius: 25px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  right: calc(15px + 5vw);
  z-index: 99;
  transform: rotate(-90deg);
  font-size: 2em;
  transition: bottom 0.35s ease-in; }

#ReturnButton a {
  text-decoration: none;
  font-size: 1.5em;
  color: white; }

.program big::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: -7px;
  background: #5eead9;
  top: 26px;
  border-radius: 25px; }

.md-content {
  text-align: center;
  margin-top: 10px; }

.google-maps {
  height: 20em;
  padding-bottom: 6em; }

.google-maps div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #22c3c6;
  font-weight: bold;
  font-size: 20px;
  color: white;
  border-radius: 8px;
  padding: 5px 15px 5px 15px;
  width: max-content;
  left: 20%;
  top: 75px; }

.content-plain {
  margin: 0 auto 5em auto;
  padding: 2em 0px 5px 0px;
  max-width: 750px;
  text-align: justify; }

.content-plain * {
  padding-left: 25px !important;
  padding-right: 25px !important; }

.content-plain h1 {
  text-align: center;
  padding: 20px 0px 15px 0px; }

.content-plain h2 {
  padding: 25px 0px 3px 0px;
  text-transform: uppercase; }

.content-plain h2:nth-of-type(even) {
  text-align: end; }

.content-plain h4 {
  text-align: center;
  padding: 10px 0px 25px 0px; }

.content-rich {
  margin: 0 auto 5em auto;
  padding: 2em 0px 5px 0px;
  max-width: 750px;
  text-align: justify; }

.content-rich > *:not(.topic) {
  padding-left: 25px !important;
  padding-right: 25px !important; }

.content-rich .topic {
  position: relative;
  padding-top: 10px;
  margin: 0px 10px 2em 10px;
  border-bottom: 1px solid #5eead9; }

.content-rich .topic::after {
  content: "";
  position: absolute;
  width: 1px;
  left: 0;
  background: #5eead9;
  top: 0;
  height: calc(100% - 30px);
  translate: 0 30px; }

.content-rich .topic::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: -7px;
  background: #5eead9;
  top: 26px;
  border-radius: 25px; }

.content-rich .topicR {
  position: relative;
  padding-top: 10px;
  margin: 0px 10px 2em 10px;
  border-bottom: 1px solid #5eead9; }

.content-rich .topicR::after {
  content: "";
  position: absolute;
  width: 1px;
  left: 0;
  background: #5eead9;
  top: 0;
  height: calc(100% - 30px);
  translate: 0 30px; }

.content-rich .topicR::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: -7px;
  background: #5eead9;
  top: 26px;
  border-radius: 25px; }

.content-rich .topicR:nth-of-type(even)::after {
  right: 0;
  left: auto; }

.content-rich .topicR:nth-of-type(even)::before {
  right: -7px;
  left: auto; }

.content-rich h1, .program h2 {
  text-align: center;
  font-size: 3em;
  text-transform: uppercase;
  color: #5eead9;
  margin: 0.5em 0 1.5em 0; }

.content-rich p {
  padding: 0px 25px 15px 25px; }

.content-rich .topic h2 {
  padding: 0px 25px 15px 25px;
  font-size: 2em; }

.content-rich .topic ul {
  padding: 10px 20px 25px 45px; }

.content-rich .topic li {
  list-style-type: circle; }

.content-rich .topicR:nth-of-type(even) h2 {
  text-align: end; }

.content-rich .topic h3 {
  padding: 0px 25px 15px 25px;
  font-size: 1.5em; }

/*
Časy vedle modrých kuliček
Dokončit až budou reálné stránky kde se to dá využít
/// Připravený H4 nadpis pro texty, které budou z venku Článků. viz. Čas u programu. Markdown značka ####. Zatím se nepoužívá tak možná nebude fungovat na všechny use cases.
.content-rich .topic h4 {
    position: absolute;
    text-align: center;
    top: 30px;
    font-size: 2.5em;
    left: -70px;
    color: #5eead9;
    transform: translate(-50%, -50%);
}

/// Na přeskáčku upravený potice H4 titulku
.content-rich .topic:nth-of-type(even) h4 {
    left: auto;
    right: -125px;
}
*/
.button {
  width: fit-content;
  display: block;
  font-size: 1.5em;
  font-weight: 600;
  border-radius: 0.5em;
  background: #2dc7cb;
  box-shadow: 0px 0px 35px -10px #48c0c370;
  margin: 0.5em;
  padding: 10px;
  text-decoration: none;
  justify-content: center;
  cursor: pointer;
  margin-right: auto;
  margin-left: auto; }

.button p {
  padding-bottom: 10px !important; }

.button a {
  color: #FFFFFF !important;
  text-decoration: none; }

.button:hover {
  color: #FFF;
  background: #5eead9;
  box-shadow: 0px 0px 35px -10px #d3eeef6e; }

@media (max-width: 1024px) {
  #logo {
    right: 0%;
    font-size: 35%;
    position: inherit; } }

@media (max-width: 800px) {
  .button a {
    font-size: 18px; }
  .content-rich h1 {
    font-size: 2em; }
  .content-rich .topic h2 {
    font-size: 1.2em; }
  /*
    časy vedle modrych kuliček
    .content-rich .topic h4 {
        font-size: 2em;
        left: -50px;
    }
    */
  .content-rich .topic:nth-of-type(even) h4 {
    left: auto;
    right: -110px; }
  .google-maps span {
    font-size: 13px; } }

@media (max-width: 730px) {
  .md-content {
    font-size: 17px;
    text-align: center; } }

#logo {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center; }

.schedule {
  display: grid;
  grid-template-rows: [time-0800] 1fr [time-0830] 1fr [time-0900] 1fr [time-0930] 1fr;
  /* etc...
          Note: Use 24-hour time for line names */ }

.session-1 {
  grid-row: time-0800 / time-0900; }

.session-2 {
  grid-row: time-0900 / time-1030; }

.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1;
  /* Sit on top */
  margin: auto;
  left: 0;
  top: 0;
  min-width: 100vw;
  /* Full width */
  min-height: 100vh;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */ }

.modal-content {
  background-color: #140908;
  margin: 15% auto;
  /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #ffffff40;
  max-width: 60%;
  /* Full width */
  max-height: 100%;
  /* Full height */ }

.modal button {
  text-decoration: underline;
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer; }
