.familyfares-module {
  padding: 20px 0;
  margin-bottom: 30px;
  position: relative;
}

@media (max-width: 1199px) {
  .familyfares-module:before, .familyfares-module:after {
    content: "";
    display: block;
    border-top: 1px solid #dfdfdf;
    position: absolute;
    right: -15px;
    left: -15px;
  }
  .familyfares-module:before {
    top: 0;
    bottom: auto;
  }
  .familyfares-module:after {
    top: auto;
    bottom: 0;
  }
}

@media (min-width: 1200px) {
  .familyfares-module {
    border: 1px solid #dfdfdf;
    border-radius: 6px;
    padding: 20px;
  }
}

.familyfares-module-title {
  padding: 0;
  position: relative;
}

@media (min-width: 1200px) {
  .familyfares-module-title {
    display: flex;
    align-items: flex-start;
  }
}

.familyfares-module-title[role="button"] {
  padding: 0 0 0 30px;
}

.familyfares-module-title[role="button"]:after {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  display: block;
  height: 16px;
  width: 16px;
  background: url("https://eur1.otcdn.com/headers/svg/background/icon-ownfill-ui-chevron-up-74716e.svg") no-repeat;
  background-size: 16px 16px;
}

.familyfares-module-title[role="button"].collapsed:after {
  transform: rotate(180deg);
}

.fare-label {
  border: 1px solid #027A02;
  border-radius: 16px;
  padding: 5px 14px;
  display: inline-flex;
  gap: 0 5px;
  color: #027A02;
  margin-top: 10px;
}

@media (min-width: 1200px) {
  .fare-label {
    margin-top: 0;
    margin-right: auto;
  }
}

.fare-label.fare-label--unselected {
  border-color: #dfdfdf;
  color: #222222;
  background: #f7f7f7;
}

.fare-label-icon {
  flex: 0 0 auto;
}

.fare-label-icon .icon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

.fare-label-icon .icon, .fare-label-icon .icon * {
  fill: #027A02;
}

.fare-label-text {
  font-weight: 700;
  font-size: 16px;
  color: #027A02;
}

html.fonts-loaded .fare-label-text {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .fare-label-text, html[lang|="fa"].fonts-loaded .fare-label-text, html[lang|="he"].fonts-loaded .fare-label-text {
  font-weight: 700;
}

.fare-label--unselected .fare-label-text {
  color: #222222;
  font-weight: 300;
}

.main-info {
  margin-top: 2px;
}

.main-info-line {
  font-size: 18px;
}

@media (min-width: 768px) {
  .main-info-line {
    font-size: 22px;
    display: flex;
    align-items: center;
    gap: 0 10px;
  }
}

.main-info-line + .main-info-line {
  margin-top: 10px;
}

.journey {
  font-weight: 700;
}

html.fonts-loaded .journey {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .journey, html[lang|="fa"].fonts-loaded .journey, html[lang|="he"].fonts-loaded .journey {
  font-weight: 700;
}

.fare-company {
  color: #74716e;
}

.module-content-scroll {
  display: flex;
  gap: 0 15px;
  padding: 20px 0 0;
  flex-wrap: nowrap;
}

@media (max-width: 991px) {
  .module-content-scroll {
    overflow-y: hidden;
    overflow-x: scroll;
    margin-left: -15px;
    padding-left: 15px;
  }
}

@media (min-width: 1200px) {
  .module-content-scroll {
    gap: 0 20px;
  }
}

.fare-module {
  border: 1px solid #d0cbc9;
  border-radius: 6px;
  padding: 20px 15px;
  display: flex;
  flex-direction: column;
  flex: 1 1 25%;
  min-width: 226px;
  position: relative;
}

.fare-module.fare-module--selected {
  border-color: #3171c9;
}

.fare-selected {
  border-radius: 15px;
  background: #3171c9;
  color: #fff;
  display: inline-block;
  padding: 0 10px;
  line-height: 25px;
  align-self: center;
  position: absolute;
  top: -13px;
}

.fare-header {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px dashed #dfdfdf;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.fare-name {
  color: #222222;
  font-size: 18px;
  font-weight: 700;
}

html.fonts-loaded .fare-name {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .fare-name, html[lang|="fa"].fonts-loaded .fare-name, html[lang|="he"].fonts-loaded .fare-name {
  font-weight: 700;
}

.fare-price .price {
  font-size: 18px;
  font-weight: 700;
}

html.fonts-loaded .fare-price .price {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .fare-price .price, html[lang|="fa"].fonts-loaded .fare-price .price, html[lang|="he"].fonts-loaded .fare-price .price {
  font-weight: 700;
}

.fare-price .price .symbol {
  font-size: 0.8em;
}

.fare-price .person {
  font-size: 14px;
}

@media (min-width: 1200px) {
  .fare-body {
    display: flex;
    flex-wrap: wrap;
  }
}

.fare-info-block {
  display: flex;
  margin-bottom: 10px;
}

@media (min-width: 1200px) {
  .fare-body .fare-info-block {
    flex: 1 0 50%;
    min-width: 235px;
  }
}

.fare-info-block.fare-info-more {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dfdfdf;
}

.fare-info-icon {
  flex: 0 0 auto;
}

.fare-info-icon svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

.fare-info-icon svg, .fare-info-icon svg * {
  fill: #027A02;
}

.fare-info-block.fare-info-more .fare-info-icon svg, .fare-info-block.fare-info-more .fare-info-icon svg * {
  fill: #222222;
}

.fare-info-text {
  padding: 0 10px;
  font-size: 16px;
}

.fare-info-main {
  font-weight: 700;
}

html.fonts-loaded .fare-info-main {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .fare-info-main, html[lang|="fa"].fonts-loaded .fare-info-main, html[lang|="he"].fonts-loaded .fare-info-main {
  font-weight: 700;
}

.fare-info-additional {
  font-weight: 300;
}

.fare-bottom {
  margin-top: auto;
  padding-top: 30px;
}

.fare-bottom .box-btn .btn {
  width: 100%;
  border-radius: 10px;
}

.fare-bottom .box-btn .btn.btn-link {
  padding: 9px 20px;
  line-height: 20px;
}

.familyfares-error {
  padding: 15px 0 0 0;
  font-size: 16px;
  color: #E50000;
}

.familyfares-error .icon {
  width: 18px;
  height: 18px;
  vertical-align: text-top;
}

.familyfares-error .icon, .familyfares-error .icon * {
  fill: #E50000;
}

.family-fares-price {
  font-size: 22px;
  margin-bottom: 15px;
}

.fare-price-info {
  margin-right: 8px;
  display: inline-block;
}

.fare-price-info:hover {
  cursor: pointer;
}

.fare-price-info .icon-graph-info-circle {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

.fare-price-info .icon-graph-info-circle, .fare-price-info .icon-graph-info-circle * {
  fill: #beb8b3;
}

.family-fares-price-continue {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .family-fares-price-continue {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 26px;
  }
  .family-fares-price-continue .family-fares-price {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
}

.family-fares-price-continue .btn-action {
  border-radius: 10px;
  min-width: 290px;
}

@media (min-width: 768px) {
  .family-fares-price-continue .btn-action {
    flex: 0 0 auto;
    width: auto;
  }
}

.fare-solo-intro {
  font-size: 18px;
  padding: 10px 0 20px 0;
}

.fare-solo-info {
  display: flex;
  flex-wrap: wrap;
}

.fare-solo-info .fare-info-block.fare-info-more {
  flex: 1 0 100%;
}

.rate-breakdown-line {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  border-top: 1px dashed #d0cbc9;
  padding: 15px 0;
  font-size: 16px;
  color: #222222;
}

.rate-breakdown-line:first-child {
  border-top: 0;
}

.rate-breakdown-line.rate-breakdown-line-total {
  border-top: 1px solid #d0cbc9;
}

.rate-breakdown-line.rate-breakdown-line-total .breakdown-amount {
  font-weight: 700;
}

html.fonts-loaded .rate-breakdown-line.rate-breakdown-line-total .breakdown-amount {
  font-weight: 500;
}

html[lang|="ar"].fonts-loaded .rate-breakdown-line.rate-breakdown-line-total .breakdown-amount, html[lang|="fa"].fonts-loaded .rate-breakdown-line.rate-breakdown-line-total .breakdown-amount, html[lang|="he"].fonts-loaded .rate-breakdown-line.rate-breakdown-line-total .breakdown-amount {
  font-weight: 700;
}

.breakdown-description {
  text-align: right;
  font-size: 16px;
  color: #222222;
  margin: 0;
  line-height: normal;
}

/* Skeleton */
.familifares-skeleton .skeleton__button,
.familifares-skeleton .skeleton__paragraph,
.familifares-skeleton .skeleton__price,
.familifares-skeleton .skeleton__title {
  overflow: hidden;
  position: relative;
}

.familifares-skeleton .skeleton__button:after,
.familifares-skeleton .skeleton__paragraph:after,
.familifares-skeleton .skeleton__title:after,
.familifares-skeleton .skeleton__price:after {
  animation: shineanimation 2s infinite;
  background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0));
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: 50% 100%;
  bottom: 0;
  content: "";
  display: block;
  right: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.familifares-skeleton .skeleton__button,
.familifares-skeleton .skeleton__title,
.familifares-skeleton .skeleton__price {
  background: #ededed;
}

.familifares-skeleton .skeleton__title {
  height: 12px;
  margin: 9px 0;
  width: 100px;
}

.familifares-skeleton .skeleton__title.large {
  width: 100% !important;
}

.familifares-skeleton .skeleton__title.double {
  width: 200px !important;
}

.familifares-skeleton .skeleton__paragraph {
  height: 90px;
  width: 100%;
  background-image: linear-gradient(-90deg, #ededed, #ededed 60px, #fff 61px, #fff), linear-gradient(-180deg, #ededed, #ededed 5px, #fff 6px, #fff 21px);
  background-position: right 15px top 15px, right 15px top 36px;
  background-repeat: no-repeat, repeat-y;
  background-size: 100% 6px, 88% 21px;
}

.familifares-skeleton .skeleton__button {
  display: inline-block;
  height: 40px;
  width: 100px;
}

.familifares-skeleton .skeleton__price {
  display: inline-block;
  height: 12px;
  width: 80px;
  margin: 9px 0;
}

.familifares-skeleton .fare-info-icon .skeleton__button {
  width: 16px;
  height: 16px;
}

.familifares-skeleton .main-info-line .skeleton__title {
  width: 300px;
}

.familifares-skeleton .fare-info-main .skeleton__title, .familifares-skeleton .fare-info-additional .skeleton__title {
  margin-top: 0;
  width: 170px;
}

@media (max-width: 991px) {
  .familifares-skeleton .module-content-scroll {
    overflow: hidden;
  }
}

.familifares-skeleton .family-fares-price-continue .skeleton__button.btn-block {
  min-width: 290px;
  display: block;
  width: 100%;
}

@media (min-width: 768px) {
  .familifares-skeleton .family-fares-price-continue .skeleton__button.btn-block {
    flex: 0 0 auto;
    width: auto;
  }
}

@keyframes shineanimation {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}