.half-transparent {
  color: rgba(255, 255, 255, 0.3);
}

.bold {
  font-weight: bold;
}

.year-block {
  font-size: 5vmin;
  font-weight: bold;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.date-block {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.date-block__month {
  font-size: 3vmin;
  font-weight: bold;
}
.date-block__date {
  font-size: 6vmin;
  font-weight: bold;
}
.date-block__day {
  font-size: 3vmin;
  color: rgba(255, 255, 255, 0.5);
}

.calendar {
  width:90%;
  height:100%;
  position: relative;
  background: #CA3644;
  display: flex;
  flex-wrap: wrap;
  margin:0 auto;
  margin-bottom:5%;
}
.calendar__days {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1vmin;
}
.calendar__day {
  font-size: 1.6vmin;
  display: inline-block;
  width: 14.2857142857%;
  height: 3vmin;
}
.calendar__month {
  font-family: 'Open Sans Condensed', sans-serif;
  width: 25%;
  height: 33.33333%;
  display: block;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  text-align: center;
  padding: 2vmin;
  position: relative;
}
.calendar__month .title {
  font-weight: bold;
  font-size: 2.3vmin;
}
.calendar__month:nth-child(1) {
  background: #1AA1AF;
}
.calendar__month:nth-child(6) {
  background: #EBC85B
}
.calendar__month:nth-child(9) {
background: #EBC85B
}
.calendar__month:nth-child(2) {
  background: #E86948;
}
.calendar__month:nth-child(5) {
  background: #E86948;
}
.calendar__month:nth-child(3) {
  background: #EBC85B;
}
.calendar__month:nth-child(8) {
  background: #1AA1AF;
}
.calendar__month:nth-child(11) {
  background: #1AA1AF;
}
.calendar__month:nth-child(12) {
  background: #EBC85B;
}
.calendar__month:nth-child(4) {
  background: #CA3644;
}

.clock {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 90%;
  height: 90%;
  border-radius: 100%;
}
.clock__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}
.clock__dot {
  width: 5%;
  height: 5%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: white;
}
.clock__hour {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
  -webkit-animation: rotate 43200s infinite linear;
          animation: rotate 43200s infinite linear;
}
.clock__hour__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}
.clock__hour::before {
  width: 3%;
  height: 30%;
  top: 20%;
  left: 50%;
  -webkit-transform: translatex(-50%);
          transform: translatex(-50%);
  background: white;
}
.clock__minute {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
  -webkit-animation: rotate 3600s infinite linear;
          animation: rotate 3600s infinite linear;
}
.clock__minute__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}
.clock__minute::before {
  width: 2%;
  height: 40%;
  top: 10%;
  left: 50%;
  -webkit-transform: translatex(-50%);
          transform: translatex(-50%);
  background: white;
}
.clock__second {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
  -webkit-animation: rotate 60s infinite steps(60);
          animation: rotate 60s infinite steps(60);
}
.clock__second__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}
.clock__second::before {
  width: 1%;
  height: 45%;
  top: 5%;
  left: 50%;
  -webkit-transform: translatex(-50%);
          transform: translatex(-50%);
  background: white;
}

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes rotate {
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}
@media (min-width: 600px) and (max-width: 7679px) {
.calendar__month {
    font-family: 'Open Sans Condensed', sans-serif;
    width: 50%;
    height:50%;
    display: block;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    text-align: center;
    padding: 2vmin;
    position: relative;
}
.calendar__day {
    font-size: 2.6vmin;
    display: inline-block;
    width: 14.2857142857%;
    height: 8vmin;
}
.calendar__month .title {
    font-weight: bold;
    font-size:3vmin;
}
}
@media (min-width: 480px) and (max-width: 599px) {
.calendar__month {
    font-family: 'Open Sans Condensed', sans-serif;
    width: 50%;
    height:50%;
    display: block;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    text-align: center;
    padding: 2vmin;
    position: relative;
}
.calendar__day {
    font-size: 2.6vmin;
    display: inline-block;
    width: 14.2857142857%;
    height: 8vmin;
}
.calendar__month .title {
    font-weight: bold;
    font-size:3vmin;
}
}
@media (min-width: 320px) and (max-width: 479px) {
.calendar__month {
    font-family: 'Open Sans Condensed', sans-serif;
    width: 100%;
    height:50%;
    display: block;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    text-align: center;
    padding: 2vmin;
    position: relative;
}
.calendar__day {
    font-size: 4.6vmin;
    display: inline-block;
    width: 14.2857142857%;
    height: 8vmin;
}
.calendar__month .title {
    font-weight: bold;
    font-size:5vmin;
}
}
