@font-face {
  font-family: logoFont;
  src: url(Boldenvandemo-K7dZZ.ttf);
}


html {
  overflow-y: scroll;
}


body {
  /* flex with height: 100vh makes footer staying at the bottom of the page and not overlapping the page */
  height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #dff4df;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.5rem;
  text-align: center;
}


header {
  padding-top: 20px;
}

header .logo {
  font-family: logoFont;
  font-size: 3rem;
  color: #41be41;
}

header .logo:hover {
  text-decoration: none;
}

input.text-centered:focus::placeholder {
  color: rgba(0, 0, 0, 0.25);
}



.menu {
  margin-top: 20px;
  background-color: #f3eea6;
  padding: 12px;
  font-size: 1.8rem;
}

.menu>li {
  display: inline-block;
  padding-left: 20px;
  padding-right: 20px;
}

.menu a {
  color: #41be41;
}

.menu a.selected-option {
  font-weight: bold;
  color: #299c29;
}

.menu a:hover {
  color: #299c29;
}

.form {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: 0 auto;
}

.form-control:focus {
  z-index: 2;
  border: 1px solid #299c29;
  box-shadow: none;
}

.form-top-elem {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.form-middle-elem {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.form-bottom-elem {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.form-error {
  border: 1px solid #d21414;
}

.form .form-error:focus {
  z-index: 2;
  border: 1px solid #d21414;
  box-shadow: none;
}

.form-error-message {
  color: #d21414;
  font-size: 1.2rem;
  margin-top: 2px;
  margin-bottom: 5px;
}


.buttons-grid-container {
  display: grid;
  grid-template-areas: "button1 button2";
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}


button {
  color: white;
  box-shadow: none !important;
  font-size: 1.3rem !important;
}

button.confirm {
  background-color: #41be41 !important;
  border: 2px solid #41be41 !important;
  margin-top: 10px;
}

button.confirm:hover {
  background-color: #299c29 !important;
  border: 2px solid #299c29 !important;
}

button.cancel {
  background-color: #de3e51 !important;
  border: 2px solid #de3e51 !important;
  margin-top: 10px;
}

button.cancel:hover {
  background-color: #d21414 !important;
  border: 2px solid #d21414 !important;
}

button.right {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: 3px;
  padding-left: 1px;
  padding-right: 1px;
}

button.left {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-right: 3px;
  padding-left: 1px;
  padding-right: 1px;
}

button>a {
  color: white;
}

button>a:hover {
  color: white;
  text-decoration: none;
}


.login-registration-link {
  color: #41be41;
  font-size: 1.6rem;
}

.login-registration-link:hover {
  color: #299c29;
}


#SelectPeriod {
  width: 200px;
  margin: auto;
}

.input-description {
  margin: 10px;
}

div.total-sum {
  margin: 0 auto;
  font-size: 2.2rem;
  font-weight: bold;
  width: 100%;
  max-width: 300px;
}

.background-color-green {
  background-color: #299c29;
}

.color-green {
  color: #299c29;
}

.color-red {
  color: #d21414;
}

.color-black {
  color: black;
}


table>caption {
  caption-side: top;
  color: black;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  min-width: 250px;
}

table {
  clear: both;
  margin: auto;
  margin-top: 20px;
}

th {
  font-size: 1.2rem;
  font-weight: normal;
  border: 1px solid #299c29;
  padding: 10px;
}

th.null {
  border: 0px;
  background-color: #dff4df;
}


button.th-button {
  padding: 0px;
  margin: 0px;
}

.width-ge-50 {
  min-width: 50px;
}

.width-ge-80 {
  min-width: 80px;
}

.width-ge-120 {
  min-width: 120px;
}

.width-ge-180 {
  min-width: 180px;
}

.width-ge-200 {
  min-width: 200px;
}

.width-ge-350 {
  min-width: 350px;
}

th.number {
  font-weight: bold;
}

tr.summary>th {
  font-weight: bold;
}

.text-centered {
  text-align: center;
}

.column_names>* {
  font-weight: bold;
}


.row_dark {
  background-color: #f3eea6;
}

.row_light {
  background-color: #FFF8D6;
}


.pagination {
  display: inline-block;
  color: gray;
  margin-top: 20px;
}

.pagination a {
  color: #41be41;
  font-size: 1.8rem;
  padding: 10px 10px;
}

.pagination .current_page {
  color: #299c29;
  font-weight: bold;
}


.chart {
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.pie_chart {
  height: 450px;
  width: 450px;
  border-radius: 50%;
  margin-left: auto;
}

.legend {
  height: 450px;
  width: 200px;
  margin-left: 10px;
  margin-right: 0px;
}

.legend_last_column {
  margin-right: auto;
}

.legend_item {
  display: flex;
  align-items: center;
}

.item_color {
  margin-top: 15px;
  margin-left: 5px;
  height: 12px;
  width: 12px;
}

.item_text {
  margin-left: 5px;
  height: 12px;
  width: 12px;
  white-space: nowrap;
  font-size: 1.1rem;
}

.error-404-header {
  font-size: 7rem;
  font-weight: bold;
  color: #41be41;
  padding: 0px;
  margin: 0px;
}

.msg {
  font-size: 2rem;
  font-weight: bold;
  padding: 0px;
  margin: 50px;
}

.error-404-msg {
  font-size: 2rem;
  font-weight: bold;
  color: #41be41;
  padding: 0px;
  margin-bottom: 50px;
}

.error-msg {
  font-size: 2rem;
  font-weight: bold;
  color: #de3e51;
  padding: 0px;
  margin-bottom: 50px;
}

.button-404 {
  font-size: 2rem;
  padding: 10px;
  margin: 0px;
}

footer {
  margin-top: auto;
  padding-top: 10px;
  /* auto with proper body settings (see body section) makes footer staying at the bottom of the page and not overlapping the page */
}