.calendar .calendar__wrapper {
    max-width: 1050px;
    margin: 160px auto;
}
.calendar .title {
    font-size: 38px;
    line-height: 52px;
    font-weight: 200;
    text-align: center;
    margin: -7px 0;
}
.calendar .title-caption {
    margin: 40px auto -8px;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    display: block;
    width: 100%;
}

.calender__iframe {position: relative;}

.calender__iframe::before {
    content: "";
    display: block;
    padding-top: calc(100% * 3 / 4);
}
.calender__iframe iframe {
    width: 100%;
    height: 100%;
    max-width: 1050px;
    position: absolute;
    top: 0;
    margin: 80px auto 0;
}


@media screen and (max-width: 767px) {
.calendar {
    max-width: 414px;
    min-width: 320px;
    width: 100%;
    margin: 97px auto 0;
    padding: 0 20px;
}
.calendar .calendar__wrapper {
    margin: 0 auto;
}
.calendar .title {
    font-size: 24px;
    line-height: 34px;
    margin: -5px 0;
}
.calendar .title-caption {
    margin: 33px auto -7px;
    font-size: 14px;
    line-height: 28px;
    text-align: left;
}
.calender__iframe::before {
    content: "";
    display: block;
    padding-top: 100%;
}
.calender__iframe iframe {
    margin: 50px 0 100px;
}

}

.clearfix:after {
    content: ".";  
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  
  .clearfix {
    min-height: 1px;
  }
  
  * html .clearfix {
    height: 1px;
  }