* {
  box-sizing: border-box;
}

*:before {
  box-sizing: border-box;
}

*:after {
  box-sizing: border-box;
}


.container-1000 {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1em;
}

.row:before {
  display: table;
  content: " ";
}

.grid-calendar {
  min-width: 320px;
}
.grid-calendar .row {
  margin: 0;
}
.grid-calendar .calendar-week .grid-cell {
  background-color: #f6f6f6;
  border: 1px solid #fff;
}
.grid-calendar .calendar-week-header .grid-cell > div > div {
  padding-bottom: 10px;
  height: auto;
}
.grid-calendar .grid-cell {
  display: inline-block;
  float: left;
  min-height: 1px;
  padding: 0;
  position: relative;
  width: 14.2857142857%;
}

.grid-calendar .grid-cell.another-month {
  color: #a6a6a6;
  opacity: 0.5;
}

.grid-calendar .grid-cell.previous-month {
  color: #a6a6a6;
}
.grid-calendar .grid-cell.next-month {
  background-color: #e1e1e1;
}
.grid-calendar .grid-cell > a {
  display: flex;
  justify-content: center;
  width: 100%;
}
.grid-calendar .grid-cell > a > div {
  height: 0;
  padding: 50% 0;
}

.grid-cell a:hover {
    color: white;
    background: var(--secondary-color);
}

.circle {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  text-align: center;
  border: 1px solid black;
  vertical-align: middle;
  background: white;
}
.p-50 {
    padding-top: 50%;
}
.p-45 {
    padding-top: 45%;
}
.p-40 {
    padding-top: 40%;
}
.p-35 {
    padding-top: 35%;
}
.p-25 {
    padding-top: 25%;
}

.vl {
  border-left: 6px solid green;
  height: 30px;
  left: -50%;
}

.demo {
  width: 150px;
  height: 10px;
  display: inline-grid;
  vertical-align: middle;
  rotate: 90deg;
  z-index: -1;
  position: relative;
}
.demo hr {
    border-color: white;
}


