

/* Start:/kalendar-cen/lib/style.css?17598188678730*/
.price_calendar {line-height: 125.2%; overflow: hidden;}
.price_calendar h1 {font-size: 30px; margin: 80px 0 31px;}
.price_calendar h1,
.price_calendar h2 {line-height: 125.2%;}

.price_calendar .calendars-row {display: flex; margin-bottom: 100px;}
.price_calendar .calendars-row > .item {width: 538px; margin-right: 14px; background-color: #ffffff; border-radius: 10px; box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.08);}
.price_calendar .calendars-row > .item:last-child {margin-right: 0;}
.price_calendar .calendars-row .titles-block {padding: 36px 36px 30px;}
.price_calendar .subtitle {color: #525252; margin-bottom: 0;}
.price_calendar h2 {font-size: 21px; font-weight: 700; margin-top: 10px; margin-bottom: 0;}

.price_calendar .calendar-inner {padding: 0 0 21px;}

.price_calendar .controls-main {min-height: 36px; margin-top: 14px;}

.price_calendar .classes {position: absolute; z-index: 2; width: 310px; padding: 0 0 30px 36px; overflow: hidden;}
.classesTabs__swiper-container.swiper-container {overflow: visible;}
.price_calendar .classesTabs {display: flex;}
.price_calendar .classesTabs .itemTab {display: flex; align-items: center; justify-content: center; cursor: pointer; width: auto; padding: 8px; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px;}
.price_calendar .classesTabs .itemTab.active {color: #882050; border: 1px solid #882050;}

.price_calendar .months {position: relative; z-index: 1; display: flex; justify-content: flex-end; padding: 0 36px;}
.price_calendar .navigation {display: inline-flex; align-items: center; justify-content: space-between; min-width: 182px;}
.price_calendar .navigation .month-name {font-weight: 700;}
.price_calendar .navigation .month-control {width: 27px; height: 27px; cursor: pointer;}
.price_calendar .navigation .month-control.swiper-button-disabled {pointer-events: none;}
.price_calendar .navigation .month-control.prev {margin-right: 5px; margin-left: auto;}
.price_calendar .navigation .month-control svg {fill: none; stroke: #882051; width: 100%; height: 100%;}
.price_calendar .navigation .month-control.swiper-button-disabled svg {stroke: #dddddd;}
.price_calendar .navigation .month-control.prev svg {transform: rotate(180deg);}

.price_calendar .month-tables {margin-top: 30px; padding: 0 36px;}
.price_calendar .month-tables ul {display: grid; grid-template-columns: repeat(7, 1fr); list-style-type: none; margin: 0; padding: 0 23px;}
.price_calendar .month-tables ul.weekday {padding: 8px 6px; margin-bottom: 23px; background-color: #F2F2F2; border-radius: 10px;}
.price_calendar .month-tables ul.weekday > li,
.price_calendar .month-tables .disabled {pointer-events: none; text-align: center;}
.price_calendar .month-tables ul.weekday > li {height: auto;}
.price_calendar .month-tables .table-item {display: none;}
.price_calendar .month-tables .table-item.active {display: block;}
.price_calendar .month-tables table,
.price_calendar .month-tables tbody,
.price_calendar .month-tables tr {width: 100%;}
.price_calendar .month-tables tbody {display: block; padding-right: 6px; padding-left: 6px;}
.price_calendar .month-tables tr {display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 25px;}
.price_calendar .month-tables td {display: inline-flex; flex-direction: column; cursor: pointer; text-align: center; min-width: 41px; height: 41px; padding: 0;}
.price_calendar .month-tables td.active,
.price_calendar .month-tables td.hover, .price_calendar .month-tables td.today {position: relative; z-index: 2;}
.price_calendar .month-tables td.active {color: #ffffff;}
.price_calendar .month-tables td.active::before,
.price_calendar .month-tables td.hover::after, .price_calendar .month-tables td.today::after {position: absolute; content: ""; z-index: 1; top: 47%; left: 50%; transform: translate(-50%, -50%); width: 45px; height: 54px; border-radius: 8px;}
.price_calendar .month-tables td.active::before {background-color: #882050;}
.price_calendar .month-tables td.hover::after, .price_calendar .month-tables td.today::after {border: 1px solid #882050;}
.price_calendar .month-tables td > span {position: relative; z-index: 2;}
.price_calendar .month-tables .today .date, .price_calendar .month-tables .holiday .date {color: #ac2727;}

.price_calendar .month-tables td.active.today .date, .price_calendar .month-tables td.active.holiday .date {color: #ffffff;}
.price_calendar .month-tables .disabled .date {color:#9D9D9D;}
.price_calendar .month-tables .sum {font-size: 12px; white-space: nowrap; color: #408574; margin-top: 6px;}
.price_calendar .month-tables td.active .sum,
.price_calendar .month-tables td.active .sum i {color: #E5C2D2;}
.price_calendar .month-tables .sum i {font-style: normal; color: #000000;}

main {position: relative;}
main.p-bottom {padding-bottom: 99px;}
.total {display: none; bottom: 0; left: 0; z-index: 100; width: 100%; background-color: #ffffff; box-shadow: 0px -5px 20px rgba(0, 0, 0, 0.08);}
.total.fixed {position: fixed;}
.total.active {display: block;}
.total .total-inner {display: flex; align-items: center; justify-content: space-between; padding: 26px 70px 26px 0;}
.total .desc {display: flex; align-items: center;}
.total .item {display: none; align-items: center; line-height: 150%; margin-right: 45px;}
.total .item.active {display: inline-flex;}
.total .item:last-child {margin-right: 0;}
.total .subtitle {font-size: 14px; margin-right: 10px;}
.total .title {font-family: "Montserrat", "Roboto", "Arial", sans-serif;}
.total .date .title {font-weight: 600; color: #882050;}
.total .route .title {font-weight: 700; line-height: 125.2%;}
.total .btn {display: flex; align-items: center; justify-content: center; font-weight: 500; line-height: 115.5%; padding: 14px 30px; border: 0;}
.total .btn--disabled {color: #ffffff !important; background-color: #9D9D9D !important;}

.price_calendar.no-data {padding-bottom: 100px;}
.price_calendar.no-data h1 {max-width: 563px; margin-bottom: 25px;}
.price_calendar.no-data .desc {margin-bottom: 0;}

@media (max-width: 1220px) {
	.price_calendar h1 {font-size: 21px; margin: 40px 0 20px;}

	.price_calendar .calendars-row {flex-direction: column; margin-bottom: 60px;}
	.price_calendar .calendars-row > .item {width: 100%; margin-right: 0; margin-bottom: 20px;}
	.price_calendar .calendars-row > .item:last-child {margin-bottom: 0;}
	.price_calendar .calendars-row .titles-block {padding: 25px 15px 25px;}
	.price_calendar .subtitle {font-size: 12px;}
	.price_calendar h2 {font-size: 16px; margin-top: 5px;}

	.price_calendar .calendar-inner {padding: 0 0 10px;}

	.price_calendar .controls-main {min-height: 28px; margin-top: 9px;}

	.price_calendar .classes {position: static; padding: 0 15px; padding-bottom: 25px; width: auto;}
	.price_calendar .classesTabs .itemTab {padding: 5px 15px; box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.08); border-color: transparent;}
	.price_calendar .classesTabs .itemTab.active {box-shadow: none;}

	.price_calendar .months {position: static; justify-content: flex-start; padding: 0 15px;}
	.price_calendar .navigation {justify-content: flex-start; min-width: 0;}
	.price_calendar .navigation .month-name {order: 1; text-align: center; min-width: 112px;}
	.price_calendar .navigation .month-control.prev {order: 0; margin-right: 0; margin-left: 0;}
	.price_calendar .navigation .month-control.next {order: 2;}

	.price_calendar .month-tables {margin-top: 25px; padding: 0 15px;}
	.price_calendar .month-tables ul.weekday {padding: 9px 0; margin-bottom: 25px;}
	.price_calendar .month-tables tbody {padding-right: 0; padding-left: 0;}
	.price_calendar .month-tables tr {margin-bottom: 20px;}
	.price_calendar .month-tables td {min-width: 34px; height: 38px;}
	.price_calendar .month-tables td.active::before,
	.price_calendar .month-tables td.hover::after {width: 38px; height: 48px;}
	.price_calendar .month-tables .sum {font-size: 11px;}

	main.p-bottom {padding-bottom: 193px;}
	.total .total-inner {flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 20px 0 43px 0;}
	.total .desc {flex-wrap: wrap;}
	.total .item {line-height: 18px; margin-right: 30px;}
	.total .route {display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin-right: 0; margin-bottom: 15px;}
	.total .subtitle {font-size: 12px;}
	.total .route .subtitle {line-height: 14px; margin-bottom: 5px;}
	.total .title {line-height: 18px;}
	.total .button {width: 100%;}
	.total .btn {width: 100%; padding: 12px 30px; margin-top: 20px;}

	.price_calendar.no-data {padding-bottom: 60px;}
	.price_calendar.no-data h1 {max-width: 450px; margin-bottom: 20px;}
}
/* End */


/* Start:/local/components/oscompany/select.route/templates/inner_top/style.css?17434887657990*/
.route-search_main-purple.reserve {position: relative; z-index: 90; font-family: "Montserrat", "Roboto", "Arial", sans-serif; padding: 36px 0 37px; width: 100%; color: currentColor; background: #F8F8F8 !important;}
.route-search_main-purple .route-search-hidden {display: none; padding-bottom: 6px;}

.route-search_main-purple .route-search_title {cursor: pointer; font-size: 24px; font-weight: 800; line-height: 1.207; margin-bottom: 0;}
.route-search_main-purple .route-search_title.active {margin-bottom: 22px;}
.route-search_main-purple .route-search_title span {position: relative;}
.route-search_main-purple .route-search_title span::after {position: absolute; content: ""; right: -34px; top: 40%; width: 20px; height: 12px; transition: 0.3s; background: url(/local/components/oscompany/select.route/templates/inner_top/images/arrow-title.svg) 50% 50% no-repeat;}
.route-search_main-purple .route-search_title.active span::after {transform: rotate(-180deg);}

.route-search-form-inner {display: flex; align-items: center; flex-wrap: nowrap;}
.route-cities {display: flex; align-items: center;}
.route-cities .btn.cities-reverse {position: absolute; left: 200px; z-index: 2; min-width: 55px; width: 55px; height: 52px; padding: 0; border: 0; background: url(/local/components/oscompany/select.route/templates/inner_top/images/cities-reverse.svg) 50% 50% / 28px 19px no-repeat, linear-gradient(to top, #882050, #882050);}
.route-search_main-purple .route-search-form-inner input:not(input[type=number]) {font-size: 16px; font-weight: 500; line-height: 1.502; height: 48px; color: #232323; background-color: transparent; border-radius: 0; border: 0;}
.route-search_main-purple .reserve__way,
.route-search_main-purple .reserve__date {max-width: none;}
.reserve__way.city-select-from input {padding: 9px 12px 9px 19px; width: 200px; max-width: 200px;}
.reserve__way.city-select-to {position: relative; margin-left: 55px;}
.reserve__way.city-select-to::after {position: absolute; content: ""; right: 0; top: 50%; transform: translate(0, -50%); width: 1px; height: 40px; background-color: #D1D1D1;}
.reserve__way.city-select-to input {padding: 9px 12px 9px 21px; width: 210px; max-width: 229px;}

.route-search-form-inner input::-webkit-input-placeholder {opacity: 1; -moz-opacity: 1; color: #D1D1D1;}
.route-search-form-inner input::-moz-placeholder {opacity: 1; -moz-opacity: 1; color: #D1D1D1;}
.route-search-form-inner input:-ms-input-placeholder {opacity: 1; -moz-opacity: 1; color: #D1D1D1;}
.route-search-form-inner input:-moz-placeholder {opacity: 1; -moz-opacity: 1; color: #D1D1D1;}
.route-search-form-inner input::placeholder {opacity: 1; -moz-opacity: 1; color: #D1D1D1;}
.route-search-form-inner #undefined_flexselect:-ms-input-placeholder {opacity: 1; color: #D1D1D1;}
.route-search-form-inner #undefined_flexselect::placeholder {opacity: 1; color: #D1D1D1;}

.inputs-block,
.route-dates {display: flex; align-items: center;}
.inputs-block {position: relative; z-index: 1; background-color: #fff; width: 802px; border-radius: 10px; border: 1px solid #D1D1D1; margin-right: 26px;}
.route-dates .date-there,
.route-dates .date-back {position: relative; z-index: 2;}
.route-dates .reserve__date input {background-image: url(/local/components/oscompany/select.route/templates/inner_top/images/reserve__calendar.svg); background-repeat: no-repeat; background-position: 100% 50%;}
.route-dates .reserve__date.date-back input {background-position: calc(100% - 17px) 50%;}
.route-dates .date-there input {padding: 9px 18px 9px 13px; width: 155px;}
.route-dates .date-back input {padding: 9px 30px 9px 20px; width: 180px;}
.route-search-form-inner .reserve__remove {right: 0; top: 48%;}
.route-search-form-inner .date-back .reserve__remove {right: 15px;}
.route-search-form-inner .close > span::before, .route-search-form-inner .close > span::after {background-color: #D1D1D1;}

/* Убираем стрелки у input[type=number] */
/* Chrome */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0;}
/* Firefox */
input[type="number"] {-moz-appearance: textfield;}
input[type="number"]:hover,
input[type="number"]:focus {-moz-appearance: number-input;}

.route-search-form-inner .reserve__dropdown .dropdown__toggler {font-size: 21px; font-weight: 700; width: 163px; border: 0; padding: 0; color: #232323; background-color: transparent;}
.route-search-form-inner .dropdown__toggler::after {right: 0; width: 16px; height: 9px; background: url(/local/components/oscompany/select.route/templates/inner_top/images/arrow-passenger.svg) no-repeat center / contain;}
.route-search-form-inner .menu {position: relative; z-index: 2;}

.route-search_main-purple .route-search-form-inner .reserve__btn {display: flex; align-items: center; justify-content: center; width: 165px; height: 48px; margin-left: 18px; border-radius: 10px; border: 0; background-color: #882050;}

.js-datepicker.hidden {display: none;}
.js-datepicker.hidden ~ .js-monthpicker {display: block;}

@media (max-width: 1220px) {
	.route-search_main-purple.reserve {padding: 27px 0 32px; overflow-x: hidden;}
	.route-search_main-purple .route-search-hidden {padding-bottom: 28px;}

	.route-search_main-purple .route-search_title {font-size: 18px; line-height: 1.177;}
	.route-search_main-purple .route-search_title.active {margin-bottom: 18px;}
	.route-search_main-purple .route-search_title span::after {right: -29px; top: 30%; width: 18px; height: 11px; transition: 0.3s; background: url(/local/components/oscompany/select.route/templates/inner_top/images/arrow-title-mob.svg) 50% 50% no-repeat;}

	.route-search-form-inner {align-items: flex-start; flex-wrap: wrap;}
	.route-cities {align-items: flex-start; flex-wrap: wrap; width: 100%; margin-bottom: 8px;}
	.route-cities .btn.cities-reverse {left: unset; right: 9px; top: 21px; min-width: 37px; width: 37px; height: 37px; background: url(/local/components/oscompany/select.route/templates/inner_top/images/cities-reverse-mobile.svg) 50% 50% / 17px 15px no-repeat, linear-gradient(to top, #882050, #882050);}
	.route-search_main-purple input {font-size: 16px;}
	.route-search_main-purple .route-search-form-inner input:not(input[type=number]) {font-size: 16px; height: 40px; background-color: #fff; width: 100%; max-width: 100%; border: 1px solid #D1D1D1;}

	.reserve__way.city-select-from input:not(input[type=number]),
	.reserve__way.city-select-to input:not(input[type=number]) {padding: 9px 48px 9px 13px; border-radius: 10px;}
	.reserve__way.city-select-to {margin-left: 0; margin-top: -1px;}
	.reserve__way.city-select-to::after {display: none;}

	.inputs-block {flex-wrap: wrap;}	
	.inputs-block {background-color: transparent; width: 100%; border-radius: 0; border: 0; margin-right: 0;}

	.route-dates {width: 100%; margin-bottom: 10px;}
	.route-dates .reserve__date {margin-top: 0;}
	.route-dates .reserve__date input {background-position: calc(100% - 15px) 50%; background-size: 14px 14px;}	
	.route-dates .reserve__date.date-back input {background-position: calc(100% - 14px) 50%;}
	.route-dates .date-there {position: relative;}
	.route-dates .date-there::after {position: absolute; content: ""; right: 0; top: 50%; transform: translate(0, -50%); z-index: 2; width: 1px; height: 27px; background-color: #D1D1D1;}
	.route-dates .date-there input {padding: 9px 23px 9px 13px;}
	.route-dates .date-there input:not(input[type=number]) {border-radius: 10px 0 0 10px; border-right: 0;}	
	.route-dates .date-back input {padding: 9px 23px 9px 13px;}
	.route-dates .date-back input:not(input[type=number]) {border-radius: 0 10px 10px 0; border-left: 0;}
	.route-search-form-inner .reserve__remove {right: 9px; top: 48%;}
	.route-search-form-inner .date-back .reserve__remove {right: 9px;}
	.route-search-form-inner .close > span::before, .route-search-form-inner .close > span::after {background-color: #D1D1D1;}

	.route-search-form-inner .reserve__dropdown .dropdown__toggler {font-size: 14px; font-weight: 500; width: 110px;}
	.route-search-form-inner .dropdown__toggler::after {top: 55%; width: 14px; height: 8px;}

	.route-search_main-purple .route-search-form-inner .reserve__btn {width: 100%; height: 40px; margin-top: 10px; margin-left: 0;}
}
/* End */
/* /kalendar-cen/lib/style.css?17598188678730 */
/* /local/components/oscompany/select.route/templates/inner_top/style.css?17434887657990 */
