@font-face {
  font-family: "roboto-example";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/RobotoRegular/RobotoRegular.eot");
  src: url("../fonts/RobotoRegular/RobotoRegular.eot?#iefix") format("embedded-opentype"), url("../fonts/RobotoRegular/RobotoRegular.woff") format("woff"), url("../fonts/RobotoRegular/RobotoRegular.ttf") format("truetype");
}

@font-face {
  font-family: "roboto-example";
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/RobotoBold/RobotoBold.eot");
  src: url("../fonts/RobotoBold/RobotoBold.eot?#iefix") format("embedded-opentype"), url("../fonts/RobotoBold/RobotoBold.woff") format("woff"), url("../fonts/RobotoBold/RobotoBold.ttf") format("truetype");
}

@font-face {
  font-family: "MullerRegular";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerRegular/MullerRegular.eot");
  src: url("../fonts/MullerRegular/MullerRegular.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerRegular/MullerRegular.woff") format("woff"), url("../fonts/MullerRegular/MullerRegular.ttf") format("truetype");
}

@font-face {
  font-family: "MullerLight";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerLight/MullerLight.eot");
  src: url("../fonts/MullerLight/MullerLight.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerLight/MullerLight.woff") format("woff"), url("../fonts/MullerLight/MullerLight.ttf") format("truetype");
}

@font-face {
  font-family: "MullerLightItalic";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerLightItalic/MullerLightItalic.eot");
  src: url("../fonts/MullerLightItalic/MullerLightItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerLightItalic/MullerLightItalic.woff") format("woff"), url("../fonts/MullerLightItalic/MullerLightItalic.ttf") format("truetype");
}

@font-face {
  font-family: "MullerThin";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerThin/MullerThin.eot");
  src: url("../fonts/MullerThin/MullerThin.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerThin/MullerThin.woff") format("woff"), url("../fonts/MullerThin/MullerThin.ttf") format("truetype");
}

@font-face {
  font-family: "MullerMedium";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerMedium/MullerMedium.eot");
  src: url("../fonts/MullerMedium/MullerMedium.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerMedium/MullerMedium.woff") format("woff"), url("../fonts/MullerMedium/MullerMedium.ttf") format("truetype");
}

@font-face {
  font-family: "MullerBold";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerBold/MullerBold.eot");
  src: url("../fonts/MullerBold/MullerBold.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerBold/MullerBold.woff") format("woff"), url("../fonts/MullerBold/MullerBold.ttf") format("truetype");
}

@font-face {
  font-family: "MullerExtraBold";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerExtraBold/MullerExtraBold.eot");
  src: url("../fonts/MullerExtraBold/MullerExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerExtraBold/MullerExtraBold.woff") format("woff"), url("../fonts/MullerExtraBold/MullerExtraBold.ttf") format("truetype");
}

@font-face {
  font-family: "MullerBlack";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/MullerBlack/MullerBlack.eot");
  src: url("../fonts/MullerBlack/MullerBlack.eot?#iefix") format("embedded-opentype"), url("../fonts/MullerBlack/MullerBlack.woff") format("woff"), url("../fonts/MullerBlack/MullerBlack.ttf") format("truetype");
}

.popupError {
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 32%;
  height: auto;
  background-color: #ffffff;
  padding: 67px 15px;
  display: none;
  text-align: center;
  border-radius: 27px;
}

.popupError img {
  width: 133px;
  height: auto;
}

.popupError p {
  line-height: 1.3;
  margin-top: 45px;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 420px;
  font-family: 'MullerRegular';
  font-size: 24px;
  color: #333333;
}

.popupError .buttonOk {
  cursor: pointer;
  background-color: #333333;
  width: 97px;
  height: 54px;
  border-radius: 27px;
  margin-top: 27px;
  margin-left: auto;
  margin-right: auto;
  color: #ffffff;
  text-transform: uppercase;
  font-family: 'MullerBold';
  font-size: 16px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.popupError .buttonOk:hover {
  background-color: #ff2e2f;
}

main section.header-breadcrumbs {
  padding-top: 65px;
}

main section.header {
  padding-top: 90px;
}

main section.header h1 {
  color: #333333;
  font-size: 60px;
  font-family: 'MullerExtraBold';
}

main section.header .header-desc {
  padding-left: 42.5px;
}

main section.header .header-desc .line {
  margin-top: 17.5px;
  width: 80px;
  height: 4px;
  background-color: #ff2e2f;
}

main section.header .header-desc p.text {
  font-family: 'MullerLight';
  font-size: 20px;
  color: #333333;
  margin-top: 45px;
  margin-bottom: 0;
}

main section.header .header-desc .variations {
  padding-top: 50px;
}

main section.header .header-desc .variations .varCol {
  margin-right: 100px;
  font-size: 20px;
  font-family: 'MullerMedium';
  color: #333333;
}

main section.header .header-desc .variations .varCol span {
  display: block;
}

main section.calendar {
  padding-top: 55px;
}

main section.calendar .carousel .slide {
  padding: 0px 18px;
}

main section.calendar .carousel .slide .topLine {
  font-family: 'MullerBold';
  font-size: 24px;
  color: #ffffff;
  background-color: #3d3d3d;
  text-align: center;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  border-bottom: 1px solid #e1dcdc;
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
}

main section.calendar .carousel .slide .topLine .buttonPrev, main section.calendar .carousel .slide .topLine .buttonNext {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  width: 34px;
  height: 34px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
}

main section.calendar .carousel .slide .topLine .buttonPrev img, main section.calendar .carousel .slide .topLine .buttonNext img {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  width: 8px;
  height: auto;
}

main section.calendar .carousel .slide .topLine .buttonPrev:hover, main section.calendar .carousel .slide .topLine .buttonNext:hover {
  background-color: #ff2e2f;
}

main section.calendar .carousel .slide .topLine .buttonPrev:hover img, main section.calendar .carousel .slide .topLine .buttonNext:hover img {
  -webkit-filter: brightness(5);
          filter: brightness(5);
}

main section.calendar .carousel .slide .topLine .buttonPrev {
  left: 29px;
}

main section.calendar .carousel .slide .topLine .buttonPrev img {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

main section.calendar .carousel .slide .topLine .buttonNext {
  right: 29px;
}

main section.calendar .carousel .slide .tableWeek table.days {
  min-width: 1050px;
  border: none;
  margin-bottom: 30px;
}

main section.calendar .carousel .slide .tableWeek table.days tr {
  border-bottom: 2px solid #e1dcdc;
}

main section.calendar .carousel .slide .tableWeek table.days tr td.mob {
  display: none;
}

main section.calendar .carousel .slide .tableWeek table.days tr th, main section.calendar .carousel .slide .tableWeek table.days tr td {
  border: 1px solid #e1dcdc;
  width: 158px;
}

main section.calendar .carousel .slide .tableWeek table.days tr td.empty {
  border: none;
  border-bottom: 2px solid transparent;
}

main section.calendar .carousel .slide .tableWeek table.days tr td {
  padding: 0;
}

main section.calendar .carousel .slide .tableWeek table.days tr th.date {
  background-color: #f8f8f8;
  font-family: 'MullerMedium';
  font-size: 18px;
  color: #333333;
  text-align: center;
  padding: 27.5px 0;
}

main section.calendar .carousel .slide .tableWeek table.days tr th.date.gray {
  background-color: #e6e6e6;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background-color: #ffffff;
  padding-bottom: 30px;
  position: relative;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .class-head {
  height: 80px;
  font-family: 'MullerBold';
  font-size: 20px;
  color: #333333;
  text-align: center;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .class-head .text {
  line-height: 1.2;
  width: 100%;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .separLine {
  width: 91%;
  height: 1px;
  background-color: #dfdfdf;
  margin: auto;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems {
  padding-top: 30px;
  padding-left: 15px;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem {
  margin-bottom: 22.5px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem .circle_green {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #009640;
  text-align: center;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem .circle_green .number {
  color: #ffffff;
  font-size: 12px;
  line-height: 24px;
  font-family: 'MullerBold';
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem img.icon {
  width: 24px;
  height: auto;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem span {
  display: inline-block;
  font-size: 13.25px;
  font-family: 'MullerThin';
  font-weight: bold;
  color: #333333;
  margin-left: 7.5px;
  line-height: 1.2;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem span.b {
  font-family: 'MullerRegular';
  font-weight: bold;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .elems .elem span.rep {
  font-family: 'MullerLightItalic';
  font-size: 12px;
  color: #b8b8b8;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background-color: #2F2F2F;
  width: 120px;
  height: 45px;
  border-radius: 22.5px;
  color: #ffffff;
  font-family: 'MullerMedium';
  font-size: 12px;
  text-transform: uppercase;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose span {
  margin-left: 17.5px;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose input {
  display: none;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose label {
  margin-top: -5.5px;
  cursor: pointer;
  display: inline-block;
  position: relative;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose label:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  width: 11px;
  height: 11px;
  background-color: #ffffff;
  border: 1px solid #b6b6b6;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose label:after {
  content: '';
  display: inline-block;
  position: absolute;
  display: none;
  left: 0;
  top: -2px;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../img/checkbox-icon_black.png");
}

main section.calendar .carousel .slide .tableWeek table.days tr .class .buttonChoose input:checked + label:after {
  display: block;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class:hover {
  -webkit-box-shadow: 0px 0px 17.5px #3d3d3d;
          box-shadow: 0px 0px 17.5px #3d3d3d;
  z-index: 2000;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.gray {
  background-color: #f1f1f1;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.rep .elems .elem .text {
  position: relative;
  top: 8px;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.rep .elems .elem .text span.rep {
  position: absolute;
  top: -15px;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.disabled .buttonChoose {
  background-color: #9A9A9A;
  pointer-events: none;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.disabled .elems .elem .circle_green {
  background-color: #bfbfbf;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.disabled .elems .elem .circle_green + span {
  color: #b8b8b8;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked {
  background-color: #2f2f2f;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .class-head .text {
  color: #ffffff;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .buttonChoose {
  background-color: #ffffff;
  color: #000000;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem span, main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem span.b, main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem span.rep {
  color: #ffffff;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem .text {
  color: #ffffff;
}

main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem .text span, main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem .text span.b, main section.calendar .carousel .slide .tableWeek table.days tr .class.checked .elems .elem .text span.rep {
  color: #ffffff;
}

main a.buttonReg {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  border-radius: 27px;
  background-color: #ff2e2f;
  width: 248px;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  font-family: 'MullerBold';
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  margin-top: 60px;
}

@media only screen and (max-width: 1400px) {
  body .popupError {
    width: 50%;
  }
}

@media only screen and (max-width: 1199px) {
  body main .container section.header .header-desc {
    padding-left: 0;
  }
  body main .container section.calendar .carousel {
    margin-left: -18px;
  }
  body main .container section.calendar .carousel .slide {
    padding: 0;
  }
  body main .container section.calendar .carousel .slide .topLine {
    margin-left: 18px;
  }
  body main .container section.calendar .carousel .slide .tableWeek {
    padding-left: 18px;
    overflow-y: scroll;
  }
  body main .container section.calendar .carousel .slide .tableWeek table.days td.mob {
    display: table-cell;
  }
}

@media only screen and (max-width: 991px) {
  body .popupError {
    width: 65%;
  }
  body main .container section.header {
    padding-top: 55px;
  }
  body main .container section.header h1 {
    font-size: 45px;
  }
  body main .container section.header .header-desc p.text {
    font-size: 18px;
    line-height: 1.3;
  }
}

@media only screen and (max-width: 767px) {
  body .popupError {
    padding-top: 40px;
    padding-bottom: 40px;
    width: 57.5%;
  }
  body .popupError p {
    margin-top: 25px;
    font-size: 18px;
  }
  body main .container section.header {
    padding-left: 15px;
    padding-right: 15px;
  }
  body main .container section.header .header-desc .variations {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 35px;
  }
  body main .container section.header .header-desc .variations .varCol {
    margin-right: 0;
  }
}

@media only screen and (max-width: 600px) {
  body .popupError {
    width: 90%;
  }
}

@media only screen and (max-width: 500px) {
  body main .container section.header-breadcrumbs {
    padding-top: 35px;
  }
  body main .container section.header {
    padding-top: 35px;
  }
  body main .container section.header h1 {
    font-size: 30px;
    margin-bottom: 0;
  }
  body main .container section.header .header-desc p.text {
    font-size: 14px;
    margin-top: 25px;
  }
  body main .container section.header .header-desc .line {
    display: none;
  }
  body main .container section.header .header-desc .variations {
    padding-top: 25px;
  }
  body main .container section.header .header-desc .variations .varCol span {
    font-size: 14px;
  }
  body main .container section.calendar {
    padding-top: 35px;
  }
  body main .container section.calendar .carousel .slide .topLine span {
    font-size: 16px;
  }
  body main .container section.calendar .carousel .slide .topLine .buttonPrev, body main .container section.calendar .carousel .slide .topLine .buttonNext {
    width: 24px;
    height: 24px;
  }
  body main .container section.calendar .carousel .slide .topLine .buttonPrev img, body main .container section.calendar .carousel .slide .topLine .buttonNext img {
    width: 5px;
  }
}

@media only screen and (max-width: 450px) {
  body .popupError img {
    width: 95px;
  }
  body .popupError p {
    font-size: 14px;
  }
  body .popupError .buttonOk {
    margin-top: 22px;
  }
}
