:root {
     --main-bg-color: #6b5acd;
     --main-hl-color: #7d64d7;
     --main-fg-color: #9a8fde;
     --main-mm-color: #b7bae5;
     --very-light-color: #dbdcf2;
}

* {
  box-sizing: border-box;
  margin-top: 1;
  margin-bottom: 0;
  padding: 1;
  border: 0;
  font-size: 1em;
}


html {
  font-family: "Arial", sans-serif;
}

a:link
{
  text-decoration: none;
  text-underline: none;
}

a:active
{
  text-decoration: none;
  text-underline: none;
}

a:visited
{
  text-decoration: none;
  text-underline: none;
}

a:hover
{
  text-decoration: none;
  text-underline: none;
}

a.table_link {
        color: var(--main-bg-color);
}

p {
  text-align: justify;
  color: var(--main-bg-color);
}

input, textarea {
  border-style: solid;
  border-width: 1px;
  border-color: var(--main-bg-color);
}

table.record_detail {
  width: 100%;
}

table.record_detail th {
  background-color: var(--main-bg-color);
  color: white;
}

table.record_detail tr td:nth-child(odd) {
  background-color: var(--very-light-color);
}

table.resultlist {
  width: 100%;
}

table.resultlist th {
  background-color: var(--main-bg-color);
  color: white;
  font-size: 90%;
}

table.resultlist tr:nth-child(even) {
  background-color: var(--very-light-color);
  color: var(--main-bg-color);
  font-size: 75%;
}

table.resultlist tr:nth-child(odd) {
  background-color: white;
  color: var(--main-bg-color);
  font-size: 75%;
}

table.labellist {
  width: 100%;
}

table.labellist th {
  background-color: var(--main-bg-color);
  color: white;
  font-size: 90%;
}

table.labellist tr:nth-child(even) {
  background-color: var(--very-light-color);
  color: var(--main-bg-color);
  font-size: 75%;
}

table.labellist tr:nth-child(odd) {
  background-color: white;
  color: var(--main-bg-color);
  font-size: 75%;
}

/* For mobile phones: */
[class*="col-"] {
  float: left;
  padding: 5px;
  width: 100%;
}

.mob_col-1 {width: 33.33%;}
.mob_col-2 {width: 66.67%;}

.header {
  background: var(--main-bg-color);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  color: #ffffff;
  font-weight: bold;
  font-style: italic;
  font-size: 175%;
  padding: 20px;
  padding-top: 0px;
  padding-bottom: 1px;
  margin-top: 0px;
  max-height: 100px;
}

.main_menu {
  background-color: var(--main-mm-color);
  color: #ffffff;
  font-weight: bold;
  font-style: italic;
  float: left;
  font-size: 125%;
  text-align: center;
  padding: 20px;
  padding-top: 0px;
  padding-bottom: 1px;
}

.main_menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.main_menu li:hover {
  background-color: var(--main-hl-color);
}

[class*="sub_menu"] {
  width: 25%;
  background-color: var(--main-hl-color);
  color: #ffffff;
  font-weight: bold;
  font-style: italic;
  float: left;
  font-size: 80%;
  text-align: center;
  padding: 5px;
}

.sub_menu_active {
  background-color: var(--main-bg-color);
}

.sub_menu_counter {
  background-color: white;
  color: var(--main-bg-color);
  font-size: 100%;
  font-weight: bold;
  font-style: italic;
  text-align: right;
}

.sub_menu_guests {
  background-color: white;
  color: var(--main-bg-color);
  text-align: left;
  padding: 1px;
}

.sub_menu_absent {
  background-color: white;
}

[class*="table_header"] {
  width: 50%;
  background-color: var(--main-hl-color);
  color: #ffffff;
  font-weight: bold;
  float: left;
  font-size: 100%;
  text-align: center;
  padding: 2px;
}

.table_header_active {
  background-color: var(--main-bg-color);
}

.table_image {
    max-width: 100%;
    height: auto;
}

.headline {
  width: 100%;
  background-color: var(--main-bg-color);
  color: #ffffff;
  font-weight: bold;
  float: left;
  font-size: 100%;
  text-align: center;
  padding: 2px;
}

.logo {
        width: 50%;
}

.dropdown_filter {
        background-color: var(--very-light-color);
    color: var(--main-bg-color);
}

 .text_filter {
        border: 0px;
        background-color: var(--very-light-color);
    color: var(--main-bg-color);
 }

 .filter_button {
  background-color: var(--main-hl-color);
  color: #ffffff;
  font-weight: bold;
  font-style: italic;
  float: left;
  font-size: 110%;
  text-align: center;
  padding: 10px;
 }

 .footer {
  width: 100%;
  background-color: white;
  color: var(--main-bg-color);
  font-size: 115%;
  margin-top: 20px;
  margin-right: 20px;
  text-decoration: underline;
 }

.calendar {
  position: relative;
  margin-right: 10px;
  padding: 0;
  width: 8em;
  float: left;
  text-align: center;
  border: 1px solid var(--main-bg-color);
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0px;
}

.calendar span {
  display: block;
}

.calendar span.year {
  line-height:35px;
  background-color: var(--main-bg-color);
  color:  white;
  font-size: 150%;
}

.calendar span.weekday {
  line-height:25px;
  background-color: white;
  color: var(--main-bg-color);
  font-size: 120%;
}

.calendar span.day {
  line-height:40px;
  background-color: white;
  color: var(--main-bg-color);
  font-size: 200%;
}

.calendar span.month {
  line-height:20px;
  background-color: white;
  color: var(--main-bg-color);
  font-size: 120%;
}

.calendar span.navigation {
  line-height: 32px;
}

.calendar_headline {
  padding: 10px;
  background-color: white;
  color: var(--main-bg-color);
  font-weight: bold;
  text-align: left;
}

.calendar_content {

}


@media only screen and (min-width: 768px) {
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.67%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.67%;}
  .col-6 {width: 50%;}
  .col-7 {width: 78.33%;}
  .col-8 {width: 66.67%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.67%;}
  .col-12 {width: 100%;}

 .header {
    font-size: 200%;
}

  .main_menu {
    background: var(--main-bg-color);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    color: #ffffff;
        font-size: 160%;
  }

  .sub_menu {
        width: 25%;
  }

  .sub_menu_active {
        width: 25%;
  }

  .sub_menu_absent {
        width: 25%;
  }
}

@media screen and (min-width: 1024px) {
  .header {
  font-size: 300%;
}

.main_menu {
  font-size: 200%;
}

.right_menu {
  font-size: 75%;
}

.logo {
  width: 50%;
}

}