body {
    font-family: Arial, sans-serif;
}
a {
  color: #007bff;
  text-decoration: none;
  font-weight: bold;
}
a:hover {
  text-decoration: none;
}

#calendar {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
#calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background-color: #4654ae;
    color: #fff;
    font-weight: bold;
    font-size: 20pt;
    color: #fff;
}
.change-month a {
  color: #fff;
}

/* day names */
#calendar-head {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background-color: #ccc;
}
#calendar-head div {
    padding: 5px;
    background-color: #4654ae;
    text-align: center;
    color: #fff;
}


#calendar-body {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background-color: #333;
}
#calendar-body div {
    padding: 7px;
    background-color: #fff;
    text-align: center;
    border: 3px solid transparent;
}
/* whole cell as link <a><div></div></a> */
#calendar-body a div.link {
  background-color: #f3e9a2;
  }


/* the current selected day --> details shown */
#calendar-body a div.selected {
  background-color: #eac35b;
  }
#today {
  border: 3px solid red !important;
}

/* days of the prev/next month */
#calendar-body div.other {
  color: #CCC;
  }


/* wettbewerbe */
summary  {
  /* no marker */
  list-style: none;

  /* text like <a> */
  color: #007bff;
   text-decoration: none;
   font-weight: bold;
  }
details[open] > summary {
  color: #1a0dab;
  font-weight: bold;
   text-decoration: underline;
}
summary:marker {
  color: #fff;
  font-size: 0.0em;
}
summary:hover {
  cursor: pointer;
}

h3 {
  text-align: center;
}

table { 
  border-collapse: collapse; 
  margin: auto;
} 
td {
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 5px;
  padding-bottom:5px;
  border-bottom: 1px solid black;
}


td img {
  text-decoration: none !important;
  border-width: 0px !important;
  object-fit: contain;
  max-height: 20px;
  width: auto;
  height: auto;
}


/* search input */

search {
  display: grid;
  grid-template-areas:
         'name name name'
         'place place place'
         'nation federation federation'
         'from until send';
  grid-gap: 10px;
  padding: 10px;
  align-items: center;
  justify-items: center;
  max-width: 60em;
  margin: auto;
}


@media (min-width: 35em) {
  search {
    grid-template-areas:
           'name place send'
           'federation nation send'
           'from until send';
  }
  searchsend button {
      font-size: 24pt;
  }
}

@media (min-width: 55em) {
  search {
    grid-template-areas:
           'name place from send'
           'federation nation until send';
  }
}

searchname { grid-area: name; }
searchplace { grid-area: place; }
searchnation { grid-area: nation; }
serachfederation { grid-area: federation; }
searchfrom { grid-area: from; }
searchuntil { grid-area: until; }
searchsend { grid-area: send; }


/** 'stiky' footer at bottom */
html,
body {
  height: 100%;
  }
#content {
  min-height: 100%;
  position: relative;
}

/** leerzeilen am content ende einf?gen !! <br><br><br> */
#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
}

@media (min-width: 35em) {
  #footer {
    width: 90%;
    left: calc(5%);
  }
}
@media (min-width: 55em) {
  #footer {
    width: 80%;
    left: calc(10%);
  }
}


/* past competition */
.past 
  { color: rgba(0, 0, 0, 0.5); }

.past  a , 
.past img, 
.past details 
  { opacity: 0.5; }

.past details a           /** don't light ist twice */
  { opacity: 1; }


/* live popup */
.liveticker {
  cursor: pointer;
  font-size: 16pt;
}

/* Popup container - can be anything you want */
.popup {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* The actual popup */
.popup .popuptext {
  visibility: hidden;
  width: 20em;
  background-color: #f9fbcc;
  text-align: left;
  border-radius: 0.5em 0.5em;
  border: 2px solid #000;
  padding: .4em;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  right: -0.5em;
  font-size: 12pt;
  cursor: auto;
}

/* Popup arrow */
.popup .popuptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  margin-left: 19.1em;
  border-width: .7em;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}



/* The actual popup */
.popup .legend {
  visibility: hidden;
  width: 20em;
  background-color: #f9fbcc;
  text-align: left;
  border-radius: 0.5em 0.5em;
  border: 2px solid #000;
  padding: .4em;
  position: absolute;
  z-index: 1;
  top: 125%;
  left: -0.5em;
  font-size: 12pt;
  cursor: auto;
}


/* Toggle this class - hide and show the popup */
.popup .show {
  visibility: visible;
}

.link {
  color: #007bff;
  text-decoration: none;
  font-weight: bold;
  }
.link:hover {
  color: #0b6bd3;
}

/* month name */
.monthName {
  font-weight: bold;
  font-size: 16pt;
}
