
.visually-hidden {
  position: absolute;
  height: 1px;
  width: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.tickets {
  padding-top: 50px;
  padding-bottom: 50px;
}

.tickets__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tickets__item {
  margin-bottom: 20px;
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  border-radius: 7px;
  box-shadow: 0 -1px 5px rgba(171,171,196,.3), 0 5px 30px rgba(171,171,196,.9);
  position: relative;
}

.tickets__label {
  padding: 4px 10px;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 7px 0;
  background: linear-gradient(to right,#49c729 0,#87dd3d 100%);
}

.tickets__label-info {
  margin: 0;
  padding-left: 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.02em;
  position: relative;
}

.tickets__label-info::before {
  position: absolute;
  content: '';
  width: 16px;
  height: 16px;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
}

.tickets__label-info--best-price::before {
  background-image: url('./img/best-price-train.svg');
}

.tickets__label-info--fast::before {
  background-image: url('./img/fast-train.svg');
}

.tickets__label-info--exlusive::before {
  background-image: url('./img/expensive-train.svg');
}

.tickets__label--fast {
  background: linear-gradient(to right,#4f95ff 0,#0879fe 100%);
}

.tickets__label--exlusive {
  background: linear-gradient(to right,#dd2c00 0,#f57c00 100%);
}

.tickets__label-wrapper-icon {
  margin-right: 8px;
}

.tickets__wrapper-table {
  padding: 10px 15px;
  border-bottom: 1px solid rgba(239,239,245,.5);
}

.tickets__row-time {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tickets__time-send {
  margin: 0;
  font-weight: 700;
  font-size: 25px;
  line-height: 34px;
}

.tickets__time-duration {
  margin: 0;
  padding: 0 10px;
  font-size: 15px;
  background-color: rgba(239,239,245,.6);
  line-height: 26px;
  border-radius: 13px;

}

.tickets__time-arrive {
  margin: 0;
  font-weight: 700;
  font-size: 25px;
  line-height: 34px;
}

.tickets__row-city {
  display: flex;
  justify-content: space-between;
}

.tickets__send-city {
  margin: 0;
  font-size: 13px;
}

.tickets__arrive-city {
  margin: 0;
  font-size: 13px;
}

.tickets__row-station {
  display: flex;
  justify-content: space-between;
}

.tickets__send-station {
  margin: 0;
  font-size: 13px;
  color: #C0C0C0;
}

.tickets__arrive-station {
  margin: 0;
  font-size: 13px;
  color: #C0C0C0;
}

.tickets__wrapper-info {
  padding: 10px 15px;
}

.tickets__info-number {
  margin: 0;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
}

.tickets__info-logo-text {
  margin-left: 10px;
  font-size: 13px;
  color: #e50026;
  letter-spacing: -.02em;
  font-family: "Open Sans", sans-serif;
}

.tickets__info-name {
  margin: 0;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 13px;
}

.tickets__info-route {
  margin: 0;
  font-size: 13px;
}

.tickets__row-services {
  margin-top: 5px;
  display: flex;
}

.tickets__wrapper-services-img {
  margin-right: 10px;
  min-width: 18px;
  min-height: 18px;
  background-repeat: no-repeat;
  background-size: cover;
}

.tickets__wrapper-services-img--brand {
  /*background-image: url('./img/services.png');*/
  background-position: 0 0;
}

.tickets__wrapper-services-img--elreg {
  background-image: url('./img/services.png');
  background-position: -18px 0;
}

.tickets__wrapper-services-img--cond {
  background-image: url('./img/services.png');
  background-position: -36px 0;
}

.tickets__wrapper-services-img--wifi {
  background-image: url('./img/services.png');
  background-position: -54px 0;
}

.tickets__row-types {
  padding: 10px 15px;
}

.tickets__wrapper-types {
  margin-bottom: 10px;
  padding: 7px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: rgba(0,124,255,.06);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.tickets__wrapper-types:hover {
  background-color: rgba(0,124,255,.18);
}

.tickets__cashed-name, .tickets__cashed-price {
  margin: 0;
  color: #146aec;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: -.02em;
  font-weight: 600;
}

.tickets__wrapper-button {
  padding: 10px 15px;
  padding-bottom: 25px;
}

.ticket__button {
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 5px;
  background: linear-gradient(to right,#146aec 0,#5336ff 100%);
  border: none;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(20,106,236,.35);
  cursor: pointer;
}

.ticket__button:hover {
  box-shadow: 0 4px 20px rgba(20,106,236,.55);
  background: #007aff;
}

/* description */

.description {
  padding-top: 50px;
  padding-bottom: 50px;
}

/* reviews */

.reviews__list {
  margin: 0;
  margin-bottom: 50px;
  padding: 0;
  list-style: none;
}

.reviews__item {
  margin-bottom: 20px;
  padding: 10px 12px 4px;
  border-radius: 6px;
  box-shadow: 0 -1px 5px rgba(171,171,196,.3), 0 5px 30px rgba(171,171,196,.9);
}

.reviews__wrapper-row {
  margin-bottom: 10px;
  display: flex;
}

.reviews__item-user-rating {
  margin-right: 8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.reviews__item-user-rating-info--hight-level {
  background-color: #5ac82c;
}

.reviews__item-user-rating-info--middle-level {
  background-color: #fe5;
  color: #000;
}


.reviews__item-user-rating-info {
  font-size: 10px;
  line-height: 16px;
  font-family: Helvetica, Arial, sans-serif;
}

.reviews__item-user-name, .reviews__item-user-descr {
  margin: 0;
}

.reviews__item-user-name {
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  font-family: Helvetica, Arial, sans-serif;
}

.reviews__item-user-descr {
  font-size: 10px;
  line-height: 16px;
  font-family: Helvetica, Arial, sans-serif;
}

.reviews__item-text {
  margin: 0;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 20px;
}

/* chart */

.price {
  padding-top: 90px;
  padding-bottom: 100px;
  overflow-x: scroll;
}

.price__container {
  max-width: 950px;
  padding-left: 95px;
  position: relative;
}

.price__scales {
  position: absolute;
  bottom: 42px;
  left: 15px;
  height: 100%;
  width: 6px;
}

.price__scale {
  width: 100%;
  height: 100%;
  border-radius: 3px;
  position: absolute;
  bottom: 0;
}

.price__scale--top {
  background: #ff6d00;
}

.price__scale--mid {
  height: 76%;
  background: #ffd600;
}

.price__scale--low {
  height: 38%;
  background: #64dd17;
}

.price__scale-value {
  position: absolute;
  left: 20px;
  top: 25px;
  font-weight: 600;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: -.02em;
  color: #333;
}

.price__wrapper-list {
  padding-left: 10px;
  position: relative;
  bottom: 30px;
  width: 850px;
}

.price__list {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 850px;
}

.months {
  height: 230px;
  display: flex;
  justify-content: flex-end;
}

.month {
  margin-left: 35px;
  height: 230px;
  width: 35px;
  display: flex;
  align-items: flex-end;
}

.month__wrapper-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 35px;
}

.month__item {
  background: linear-gradient(to bottom,#146aec 0,#5336ff 100%);
  height: 188px;
  border-radius: 5px;
  cursor: pointer;
  z-index: 2;
}

.month__wrapper-item--jan {
  height: 92%;
}

.month__wrapper-item--feb {
  height: 93%;
}

.month__wrapper-item--march {
  height: 95%;
}

.month__wrapper-item--apr {
  height: 96%;
}

.month__wrapper-item--may {
  height: 98%;
}

.month__wrapper-item--june {
  height: 97%;
}

.month__wrapper-item--july {
  height: 98%;
}

.month__wrapper-item--aug {
  height: 97%;
}

.month__wrapper-item--sep {
  height: 97%;
}

.month__wrapper-item--oct {
  height: 99%;
}

.month__wrapper-item--nov {
  height: 92%;
}

.month__wrapper-item--deс {
  height: 93%;
}

.month__item:hover {
  background: linear-gradient(to bottom,#64dd17 0,#64dd17 100%);
}

.price__line-decor {
  position: absolute;
  bottom: 42px;
  right: 0;
  width: 100%;
  height: 10px;
  border-bottom: 2px dashed transparent;
  z-index: -1;
}

.price__line-decor--top {
  top: 3px;
  border-color: rgba(255,109,0,.54);
}

.price__line-decor--mid {
  bottom: 127px;
  border-color: rgba(255,214,0,.54);
}

.price__line-decor--low {
  border-color: rgba(100,221,23,.54);
}

.month__name {
  font-weight: 600;
  font-size: 13px;
  line-height: 16px;
  text-transform: uppercase;
  margin-bottom: 1.5em;
  margin-top: 0.9em;
}

.footer {
  background: #463C84ff;
  min-height:200px;
  padding: 16px;
}

.footer p,
.footer strong {
  color: white;
}

.footer img {
  display:block;
  max-width: 300px;
}

.cross-linking a {
  color: black;
}

.cross-linking ul {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 16px;
}

@media (min-width: 500px) {
  .tickets__row-types {
    display: flex;
    justify-content: space-between;
  }

  .tickets__wrapper-types {
    flex-basis: 48%;
  }

  .intro__container {
    padding-top: 145px;
    padding-bottom: 150px;
  }
}

@media (min-width: 768px) {
  .intro__title {
    font-size: 38px;
  }

  .cross-linking ul {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 992px) {
  .tickets__item {
    flex-direction: row;
    justify-content: space-between;
  }

  .tickets__wrapper-info {
    order: -1;
  }

  .tickets__time-duration {
    background-color: inherit;
    width: 150px;
  }

  .tickets__row-types {
    flex-direction: column;
  }

  .tickets__wrapper-types {
    width: 250px;
  }

  .cross-linking ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media screen and (max-width: 575px) {
  .tickets__row-time {
    flex-direction: column;
    gap: 12px;
  }
}
