:root {
  --green: #04AA6D;
  /*--green: #cc0000;*/
}

body {
    margin: 0;
    font-family:Arial,sans-serif,tahoma;
  }
  
  .sidebar {
    margin: 0;
    padding: 0;
    width: 300px;
    background-color: #222;
    position: fixed;
    height: 100%;
    overflow: auto;
  }
  
  .sidebar a {
    display: block;
    color: #ccc;
    padding: 15px;
    text-decoration: none;
  }

  .sidebar div {
    display: block;
    color: gray;
    padding: 15px;
    text-decoration: none;
  }
   
  .sidebar a.active {
    background-color: var(--green);
    color: white;
  }
  
  .sidebar a:hover:not(.active) {
    background-color: #555;
    color: white;
  }
  
  div.content {
    margin-left: 300px;
    padding: 1px 16px;
    height: 1000px;
  }

  
.article {
    text-align:left;
    background-color:#ffffff;
    padding:20px;
    margin-bottom:10px;
}

div.article_title{
    font-size:2em;
    color:black;
    border-bottom: 2px solid #f1f1f1;
    margin-bottom: 25px;
}

div.article_title a{color:#cc0000;text-decoration:none;font-family:Arial,sans-serif,tahoma;;transition: .25s ease-in-out;}
div.article_title a:hover{color:#cc0000;text-decoration:underline;font-family:Arial,sans-serif,tahoma;;}

.article .text {
    margin-top:10px;
    font-size:15px;
    color:black;
    font-family:Arial,sans-serif,tahoma;
    line-height:25px;
    overflow: hidden;
    text-overflow: ellipsis; 
}

.article .text table {
    font-size:18px;
    color:#505050;
    font-family:Arial,sans-serif,tahoma;
    line-height:25px;
}

select {
  width: 100%;
  padding: 10px;
  margin: 5px 0 5px 0;
  display: inline-block;
  border: none;
  background: #f1f1f1;
  border: 1px solid #ccc;
}

select.filter {
  width: 100%;
  padding: 5px;
  margin: 0;
  display: inline-block;
  border: none;
  color: white;
  background: #222;
}

input[type=text].filter {
  width: 100%;
  padding: 5px;
  margin: 0;
  display: inline-block;
  border: none;
  color: white;
  background: #222;
}

input[type=text].filter:focus {
  background: #ddd;
  color: black;
  outline: none;
}

/* Full-width input fields */
input[type=text], input[type=password], input[type=tel], input[type=email], input[type=number] {
  width: 100%;
  padding: 10px;
  margin: 5px 0 5px 0;
  display: inline-block;
  border: none;
  background: #f1f1f1;
}

input[type=text]:focus, input[type=password]:focus, input[type=tel]:focus, input[type=email]:focus, input[type=number]:focus {
  background-color: #ddd;
  outline: none;
}

span.label {
  display:block;
  font-weight: bold;
}
div.validation span.comment {
  display:block;
  padding: 10px;
  font-size: 15px;
  background-color:#fff1ab;
}
div.validation span.comment i {
  color:#ff804d;
  font-size:20px;
}
div.validation span.label2 {
  padding: 5px 10px;
}
div.validation input + span.valid {
position: relative;
}

div.validation input + span.valid::before {
right: -20px;
top: 5px;
}

div.validation input:invalid {
border: 1px solid red;
}

div.validation input:invalid + span.valid::before {
content: '\2716';
visibility:visible;
color: red;
}

div.validation input:valid + span.valid::before {
content: '\2714';
visibility:visible;
color: green;
}    

div.validation select + span.valid {
position: relative;
}

div.validation select + span.valid::before {
right: -20px;
top: 5px;
}

div.validation select:invalid {
border: 1px solid red;
}

div.validation select:invalid + span.valid::before {
content: '\2716';
visibility:visible;
color: red;
}

div.validation select:valid + span.valid::before {
content: '\2714';
visibility:visible;
color: green;
}    

div.column {
display:inline-block;
width:100%;
}

a.defaultlink{color:#3c5fa6;text-decoration:none;}
a.defaultlink:hover{color:#3c5fa6;text-decoration:underline;}

.pagination {
  display: inline-block;
  margin-top:10px;
  margin-bottom:10px;
}

.pagination a {
  color: black;
  float: left;
  padding: 8px 0px;
  width:40px;
  text-decoration: none;
  text-align: center;
  font-size:12px;  
}

.pagination a.active {
  background-color: var(--green);
  color: white;
}

.pagination a:hover:not(.active) {background-color: #ddd;}

#infobox {
  display: none; /* Hidden by default */
  position: fixed; /*  Stay in place */
  z-index: 1; /* Sit on top */
  padding: 20px 0px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height:100%;
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  color:black;
  font-family:Arial,sans-serif,tahoma;
}

#infobox .infobox_outer {
  background-color: #fefefe;
    text-align:left;
  position:relative;
    margin: auto;
    width: 80%;     
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
  border: 1px solid #888;
}
#infobox .infobox_inner {
  padding: 20px;
  height: 80%;
  overflow: auto; /* Enable scroll if needed */
}

@-webkit-keyframes animatetop {
  from {top:-300px; opacity:0} 
  to {top:0; opacity:1}
}

@keyframes animatetop {
  from {top:-300px; opacity:0}
  to {top:0; opacity:1}
}

#infobox .infobox_header {
    border-bottom:1px solid var(--green);
    color:white;
    border-radius: 5px;;
    font-weight: bold;
    margin:20px;
    padding:5px;
    background:var(--green);
}
#infobox .infobox_content {
    margin:20px;
}

h1 {
    text-align: center;
    letter-spacing: 1px;
    font-size: 3em;
    font-weight: lighter;
    padding-top:0px;
    padding-bottom:20px;
}
h2 {
    letter-spacing: 1px;
    font-size: 2em;
    font-weight: lighter;
    padding-top:0px;
    padding-bottom:20px;
}
h3 {
    text-align: center;
    letter-spacing: 1px;
    font-size: 1em;
    font-weight: lighter;
    padding-top:0px;
    padding-bottom:20px;
}
h3 a{color:#000000;text-decoration:none;}
h3 a:hover{color:#000000;text-decoration:underline;}


.btn {
    background-color: DodgerBlue;
    border: none;
    color: white;
    padding: 12px 16px;
    font-size: 16px;
    cursor: pointer;
  }
  
  /* Darker background on mouse-over */
  .btn:hover {
    background-color: RoyalBlue;
  }

  .btnsmall {
    background-color: white;
    border: none;
    color: black;
    padding: 5px;
    font-size: 20px;
    cursor: pointer;
  }
  
  /* Darker background on mouse-over */
  .btnsmall:hover {
    background-color: #eee;
  }  
  
  table {
    font-family:Arial,sans-serif,tahoma;
border-collapse: collapse;
width: 100%;
}

td {
text-align: left;
padding: 2px;
font-size:12px;
}

table.big td {
  font-size:20px;
  padding:10px;
}

tr {
  border: 1px solid #dddddd;
background-color: white;
}

tr:hover {
  background-color: #d6e6fe;
}

tr a {
  text-decoration:none;
color:black;
}
tr a:hover {
  text-decoration:underline;
}

th {
  border: 1px solid black;
  text-align: left;
padding: 8px;
  background-color:black;
  color:white;
  font-size:12px;  
}

th a {
  color: white;
}

div.note {
  margin-bottom: 15px;
  padding: 15px;
}

div.note_danger {
  background-color: #ffdddd;
  border-left: 6px solid #f44336;
}

div.note_success {
  background-color: #ddffdd;
  border-left: 6px solid #04AA6D;
}

div.note_info {
  background-color: #e7f3fe;
  border-left: 6px solid #2196F3;
}

div.note_warning {
  background-color: #ffffcc;
  border-left: 6px solid #ffeb3b;
}

  @media screen and (max-width: 700px) {
    .sidebar {
      width: 100%;
      height: auto;
      position: relative;
    }
    .sidebar a {float: left;}
    div.content {margin-left: 0;}
  }
  
  @media screen and (max-width: 400px) {
    .sidebar a {
      text-align: center;
      float: none;
    }
  }