@media screen and (max-height: 1000px) {
  .colored__block {
    padding-top: 20px;
    padding-bottom: 15px;
  }
  .colored__block small {
    margin-top: 5px;
  }
  .colored__block small + .colored__text {
    margin-top: 20px;
  }
  .colored__title {
    margin-bottom: 20px;
  }
  .colored__text + .colored__text {
    margin-top: 20px;
  }
  .colored__table {
    margin-top: 0;
  }

  .page__slide .left__part .description .marks {
    padding-top: 0;
  }

  .route__controls {
    padding-top: 10px;
  }

  .colored-page .left__part .image__wrapper {
    margin-top: 30px;
  }
}
@media screen and (max-height: 850px) {
  .colored__column {
    font-size: 20px;
  }
}
@media screen and (max-height: 600px) {
  .header .offcanvas__content {
    padding-top: 50px;
  }
}
@media screen and (max-width: 1400px) {
  .timeline__block:not(:last-child) {
    width: 50%;
  }
  .timeline__text {
    padding-right: 20px;
  }

  .colored-page .left__part .image__wrapper {
    margin: 30px 0 0 27px;
  }
  .colored__column {
    position: relative;
    width: calc((100% - 350px - 80px)/4);
    transition: ease 0.4s;
  }
  .colored__column:not(.active) .colored__block::before {
    opacity: 1;
    visibility: visible;
    transition: ease 0.4s;
  }
  .colored__column.active {
    width: 350px;
    transition: ease 0.4s;
  }
  .colored__column.active .colored__block > .visible {
    opacity: 1;
    visibility: visible;
    display: block !important;
    transition: ease 0.25s;
  }
  .colored__column.active .colored__block::before {
    opacity: 0;
    visibility: hidden;
    transition: ease 0.4s;
  }
  .colored__column .colored__block > * {
    opacity: 0;
    visibility: hidden;
    display: none !important;
    transition: ease 0.25s;
  }
  .colored__column .colored__block.top, .colored__column .colored__block.bottom {
    position: relative;
  }
  .colored__column .colored__block::before {
    content: attr(data-name);
    display: block;
    color: #fff;
    font-size: calc((100vw - 320px)/1600*(27 - 16) + 16px);
    text-decoration: underline;
    transform: translate(-50%, -50%) rotate(-90deg);
    position: absolute;
    top: 50%;
    left: 50%;
    white-space: nowrap;
    transition: ease 0.4s;
  }

  .page__slide .left__part .description .marks {
    padding-top: 0;
  }

  .route__controls {
    padding-top: 10px;
  }
}
@media screen and (max-width: 1200px) {
  .header {
    padding: 20px;
  }
  .header__logo {
    max-width: 70px;
  }
  .header .offcanvas {
    max-width: 300px;
  }
  .header .offcanvas .modalBlock {
    width: 300px;
    padding: 20px 40px 20px 20px;
  }
  .header .offcanvas .close-menu {
    right: 40px;
    top: 20px;
  }
  .header .offcanvas__content {
    padding-top: 60px;
  }

  .page-wrapper:not(.gallery-page) .page__slide {
    height: auto !important;
    flex-direction: column;
  }

  .page-content {
    padding: 0 20px 20px;
  }
  .page__slide .left__part {
    width: 100%;
    padding: 40px 20px 20px 20px;
  }
  .page__slide .left__part .page__title {
    display: none;
  }
  .page__slide .left__part .description__total {
    max-height: none !important;
    margin-right: 0;
    padding-right: 0;
    text-align: justify;
  }
  .page__slide .left__part .description__total:not(.visible) {
    margin-bottom: 0;
  }
  .page__slide .right__part {
    width: 100%;
    margin-top: 0;
    order: -1;
  }
  .page__slide .right__part.triple .row.bottom, .page__slide .right__part.double .row.bottom {
    margin-top: 20px;
  }
  .page__slide .right__part.single.map .image__wrapper {
    padding-top: 91.15%;
  }
  .page__slide .right__part.map-svg .image__wrapper svg {
    border-bottom: none;
    position: absolute;
    top: 0;
    left: 0;
  }
  .page__slide .right__part .page__title {
    display: block;
    padding-bottom: 30px;
    padding-top: 0;
  }
  .page__slide .right__part .image__wrapper {
    min-height: 300px;
  }
  .page__slide .right__part-table + .page__title {
    display: block;
    order: -2;
    padding-bottom: 30px;
    padding-top: 0;
  }
  .page__slide .right__part .table {
    padding: 0 20px;
  }
  .page__slide .right__part .table__row:first-child {
    margin-top: 10px;
  }
  .page__slide .right__part .table__row:last-child {
    margin-bottom: 10px;
    border: none;
  }
  .page__tabs {
    margin-top: -33px;
  }
  .page__slider .slick-slide {
    position: absolute !important;
    left: 0 !important;
  }
  .page__slider .slick-slide.slick-current.slick-active {
    position: relative !important;
  }

  .underline__link.hide__more {
    left: 20px;
    bottom: 20px;
  }

  .slick-next, .slick-prev {
    display: none !important;
  }

  .timeline__wrapper {
    padding-top: 0;
    flex-direction: column;
  }
  .timeline__block {
    padding-left: 70px;
  }
  .timeline__block:not(:last-child) {
    width: 100%;
    padding-bottom: 120px;
  }
  .timeline__block:not(:last-child)::after {
    width: 1px;
    height: 100%;
    top: 16px;
    left: 19px;
  }
  .timeline__block::before {
    height: 1px;
    width: 39px;
    top: 16px;
  }
  .timeline__title {
    margin-bottom: 0;
  }
  .timeline__text {
    padding-right: 0;
    max-width: 245px;
  }

  .blueprint {
    margin-top: 0;
    padding-bottom: 100px;
  }
  .blueprint__image {
    min-height: calc(100vh - 156px);
    height: 400px;
  }
  .blueprint__image img {
    margin: -10px 0 0 0;
    max-height: 88.5%;
    height: auto;
  }
  .blueprint__controls {
    padding: 0 0 20px 20px;
  }

  .colored-page .page__tabs {
    margin-bottom: 27px;
    margin-top: -37px;
  }
  .colored-page .page__slide .left__part {
    padding-left: 20px;
    padding-right: 20px;
  }
  .colored-page .page__slide .left__part .page__title {
    display: block;
  }
  .colored-page .page__slide .right__part {
    order: 2;
  }
  .colored-page .page__slide .right__part.single {
    padding: 20px;
  }
  .colored-page.work .page__slide .page__title {
    padding-top: 0;
  }
  .colored-page.work .page__slide[data-number="0"] .page__title {
    padding-bottom: 30px;
  }
  .colored-page .list {
    margin-left: 0;
    padding-left: 0;
  }
  .colored__block.top {
    height: auto;
    flex-grow: 1;
    min-height: 0;
  }
  .colored__block.bottom {
    margin-top: 0;
    min-height: 0;
    border-top: 20px solid transparent;
    transition: ease 0.15s;
  }
  .colored__column.active .colored__block.bottom {
    border-top: 20px solid #fff;
    transition: ease 0.25s 0.4s;
  }

  .lage-page .page__slide.table .colored__table {
    min-height: calc(100vh - 155px);
  }
  .lage-page .page__slide[data-number="2"] .description {
    display: flex;
    flex-direction: column;
  }
  .lage-page .page__slide[data-number="2"] .description .marks {
    order: -1;
    margin-bottom: 20px;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
  }
  .lage-page .page__slide[data-number="2"] .description .marks .controls-item {
    width: 50%;
    padding-right: 40px;
  }
  .lage-page .page__slide[data-number="3"] .description {
    display: flex;
    flex-direction: column;
  }
  .lage-page .page__slide[data-number="3"] .description .route__controls {
    order: -1;
    margin-bottom: 40px;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 0;
    display: flex;
  }
  .lage-page .page__slide[data-number="3"] .description .route__controls .controls-item {
    width: 50%;
    padding-right: 40px;
  }
  .lage-page .page__slide[data-number="3"] .description .route__controls-item {
    margin-top: 15px;
  }

  .gallery-page .page__slide {
    min-height: 350px;
  }

  .impressum-page .page-content {
    padding: 0 20px 20px 40px;
  }
  .impressum-page .impressum__content .scroll-content > * {
    padding-right: 40px;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .colored__column {
    width: calc((100% - 280px - 40px)/4);
  }
  .colored__column.active {
    width: 280px;
  }
  .colored__column.active .colored__block.bottom {
    border-top: 10px solid #fff;
  }
  .colored__block {
    padding-left: 10px;
    padding-right: 10px;
  }

  .gallery-page .page__tabs {
    margin-bottom: 0;
  }

  .impressum-page .impressum__content {
    max-height: none !important;
  }
  .impressum-page .impressum__content .scroll-content {
    flex-wrap: wrap;
  }
  .impressum-page .impressum__content .scroll-content > * {
    width: 100%;
    padding-right: 20px;
  }
}
@media screen and (max-width: 600px) {
  .page__tabs {
    margin-top: 0;
    flex-wrap: wrap;
  }
  .page__tabs-item.main {
    margin-right: 0;
    width: 100%;
    margin-bottom: 5px;
  }
  .page__slide .right__part .image__wrapper {
    min-height: 250px;
  }
  .page__slide .right__part.single.map .image__wrapper {
    overflow: auto;
    min-height: 280px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding-top: 0;
  }
  .page__slide .right__part.single.map-svg .image__wrapper {
    overflow: auto;
    min-height: 450px;
  }
  .page__slide .right__part.single.map-svg .image__wrapper svg {
    min-width: 800px;
    border: none;
  }

  .colored-page .list {
    flex-direction: column;
  }
  .colored-page .list__item:first-child {
    width: 100%;
  }
  .colored-page .left__part .image__wrapper {
    margin: 10px 0 20px 0;
    width: 100%;
  }

  .lage-page .slick-next, .lage-page .slick-prev {
    display: block !important;
    margin-top: 0;
    top: -56px;
    transform: translate(0);
    border: 1px solid rgba(0, 0, 0, 0.25);
  }
  .lage-page .slick-next::before, .lage-page .slick-prev::before {
    font-size: 22px;
  }
  .lage-page .slick-next {
    right: 0;
  }
  .lage-page .slick-prev {
    left: calc(100% - 80px);
  }
  .lage-page .page__tabs {
    padding-right: 90px;
  }
}
@media screen and (max-width: 500px) {
  .header .offcanvas {
    max-width: 100%;
  }
  .header .offcanvas .modalBlock {
    width: calc(100% + 17px);
  }
  .header .offcanvas .close-menu {
    right: 20px;
  }
  .header .offcanvas__menu {
    align-items: center;
    font-size: 24px;
  }
  .header .offcanvas__menu .empty {
    max-width: 250px;
  }
  .header .offcanvas__submenu {
    padding-left: 0;
    text-align: center;
    font-size: 20px;
    padding-top: 35px;
  }

  .page__slide .left__part {
    padding: 40px 0 20px 0;
  }
  .page__slide .right__part.triple .row {
    flex-wrap: wrap;
  }
  .page__slide .right__part .image__wrapper.half {
    width: 100%;
  }
  .page__slide .right__part .image__wrapper.half:not(:first-of-type) {
    margin-top: 20px;
  }
  .page__slide .right__part .table {
    padding: 0 10px;
  }
  .page__slide .right__part .table__row {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 0;
  }
  .page__slide .right__part .table__row .year {
    padding-right: 0;
    padding-bottom: 10px;
  }
  .page__slide.schedule .schedule__inner {
    padding: 20px 20px 40px 20px;
  }
  .page__tabs {
    align-items: flex-start;
  }
  .page__tabs-item:not(.main) {
    margin-left: 20px;
    margin-top: 5px;
  }
  .page__tabs-item:not(.main):not(:last-child) {
    margin-right: 0;
  }

  .underline__link.hide__more {
    left: 0;
  }

  .timeline__block {
    padding-left: 60px;
  }

  .lage-page .page__slide[data-number="2"] .description .marks .controls-item {
    width: 100%;
    padding-right: 0;
  }
  .lage-page .page__slide[data-number="3"] .description .route__controls .controls-item {
    width: 100%;
    padding-right: 0;
  }

  .colored__column {
    width: calc((100% - 200px - 40px)/4);
  }
  .colored__column.active {
    width: 200px;
  }

  .impressum-page .page-content {
    padding: 0 20px 20px 20px;
  }
}
@media screen and (max-width: 450px) {
  .lage-page .page__slide.table .colored__table {
    flex-wrap: wrap;
  }

  .colored__column {
    width: 100%;
    font-size: 18px;
  }
  .colored__column.active {
    width: 100%;
  }
  .colored__column:not(.active) .colored__block::before {
    content: none;
  }
  .colored__column:first-of-type .colored__block {
    margin-top: 0;
  }
  .colored__column .colored__block {
    padding-left: 35px;
    padding-right: 35px;
    margin-top: 20px;
  }
  .colored__column .colored__block > * {
    opacity: 1;
    visibility: visible;
    display: block !important;
    transition: ease 0.25s;
  }
  .colored__column .colored__block.bottom {
    border: none;
  }
  .colored__title {
    font-size: 22px;
  }
}
@media screen and (max-width: 400px) {
  .blueprint__image {
    height: 330px;
    min-height: 330px;
  }
}