/* Common */
/* Media */
/* Content */
/* Blocks */
.p-dates-main { background: rgba(32, 60, 137, 0.04); box-shadow: 0 1.11111vw 4.16667vw rgba(28, 28, 28, 0.08); overflow: hidden; }

.p-dates-main__content { position: relative; display: flex; flex-direction: column; justify-content: space-between; }

.p-dates-main__title { margin-top: 8.88889vw; margin-bottom: 3.33333vw; font-size: 7.77778vw; letter-spacing: -0.02em; font-weight: 600; line-height: 1; max-width: 100%; }

.p-dates-main__title--accent { color: #203C89; }

.p-dates-main__desc { font-size: 5vw; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; margin-bottom: 11.11111vw; }

.p-dates-school { margin-top: 15vw; }

.p-dates-school__title { margin-bottom: 3.33333vw; }

.p-dates-school__desc { font-size: 4.44444vw; font-weight: 500; line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 6.66667vw; opacity: .5; max-width: 86.11111vw; }

.p-dates-school__content { padding: 11.11111vw 3.33333vw; margin: 0 -3.33333vw; border-radius: 0; background: rgba(32, 60, 137, 0.04); box-shadow: 0 1.11111vw 4.16667vw rgba(28, 28, 28, 0.08); }

.p-dates-school__content-title { font-size: 6.11111vw; font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; margin-bottom: 6.66667vw; }

.p-dates-school__content-title--accent { color: #203C89; }

.p-dates-school__item { padding: 4.44444vw; background: #fff; border-radius: 2.22222vw; border: 1px solid rgba(28, 28, 28, 0.16); transition: all .25s ease-in-out; }

.p-dates-school__item-wrap { display: grid; grid-template-columns: repeat(1, 1fr); gap: 2.22222vw; }

.p-dates-school__item-title { position: relative; font-weight: 500; font-size: 3.33333vw; line-height: 1.4; letter-spacing: 0.01em; margin-bottom: 4.44444vw; transition: all .25s ease-in-out; }

.p-dates-school__item-date { font-size: 5.55556vw; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; color: #203C89; transition: all .25s ease-in-out; }

.p-dates-school__item-date-wrap { display: flex; justify-content: space-between; align-items: flex-end; gap: 3.33333vw; }

.p-dates-school__item-icon { width: 8.88889vw; min-width: 8.88889vw; height: 8.88889vw; }

.p-dates-school__item-icon path { transition: all .25s ease-in-out; }

.p-dates-school__item .closed { display: none; }

.p-dates-school__item:hover { background: #203C89; border-color: #203C89; }

.p-dates-school__item:hover .p-dates-school__item-title, .p-dates-school__item:hover .p-dates-school__item-date { color: #fff; }

.p-dates-school__item:hover .p-dates-school__item-icon path { fill: #fff; }

.p-dates-school__item--closed { pointer-events: none; }

.p-dates-school__item--closed .open { display: none; }

.p-dates-school__item--closed .closed { display: inline-block; }

.p-dates-school__item--closed .p-dates-school__item-title, .p-dates-school__item--closed .p-dates-school__item-date { color: rgba(28, 28, 28, 0.5); }

.p-dates-school__item--closed .p-dates-school__item-icon path { fill: rgba(28, 28, 28, 0.5); }

.p-dates-programs { margin-top: 15vw; }

.p-dates-programs__title { margin-bottom: 3.33333vw; }

.p-dates-programs__desc { font-size: 4.44444vw; font-weight: 500; line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 6.66667vw; opacity: .5; max-width: 86.11111vw; }

.p-dates-programs__content { padding: 11.11111vw 3.33333vw; margin: 0 -3.33333vw; border-radius: 0; background: rgba(32, 60, 137, 0.04); box-shadow: 0 1.11111vw 4.16667vw rgba(28, 28, 28, 0.08); }

.p-dates-programs__content-title { font-size: 6.11111vw; font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; margin-bottom: 6.66667vw; }

.p-dates-programs__content-title--accent { color: #203C89; }

.p-dates-programs__item { padding: 4.44444vw; background: #fff; border-radius: 2.22222vw; border: 1px solid rgba(28, 28, 28, 0.16); min-width: 66.66667vw; }

.p-dates-programs__item-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.22222vw; padding: 0 3.33333vw; margin: 0 -3.33333vw; overflow-x: scroll; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }

.p-dates-programs__item-wrap::-webkit-scrollbar { display: none; }

.p-dates-programs__item-title { position: relative; font-weight: 600; font-size: 6.11111vw; line-height: 1.4; letter-spacing: -0.015em; color: #203C89; margin-bottom: 6.66667vw; }

.p-dates-programs__item-date { font-size: 3.88889vw; font-weight: 500; line-height: 1.4; }

.p-dates-holidays { padding-top: 13.33333vw; }

.p-dates-holidays__content { display: flex; flex-direction: column; gap: 3.33333vw; }

.p-dates-holidays__left, .p-dates-holidays__right { flex: 1; display: flex; flex-direction: column; overflow: hidden; }

.p-dates-holidays__right { max-width: 100%; flex-direction: column; gap: 2.22222vw; }

.p-dates-holidays__list { padding: 0; margin: 0; list-style-type: none; display: flex; flex-direction: column; gap: 3.33333vw; }

.p-dates-holidays__list-title { font-size: 6.11111vw; font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; color: #203C89; margin-bottom: 6.66667vw; }

.p-dates-holidays__list-item { position: relative; font-size: 3.88889vw; font-weight: 500; letter-spacing: -0.02em; line-height: 1.4; padding-left: 3.88889vw; }

.p-dates-holidays__list-item:before { content: ''; position: absolute; top: 1.66667vw; left: 0; width: 1.66667vw; height: 1.66667vw; background: #203C89; border-radius: 50%; }

.p-dates-holidays__list-wrap { flex: 1; padding: 4.44444vw; border: 1px solid #D6D6D6; border-radius: 2.22222vw; }

.p-dates-holidays__slider { height: 71.11111vw; }

.p-dates-holidays__slider:before { content: ''; position: absolute; bottom: -5.55556vw; left: 0; right: 0; width: 100%; height: 33.33333vw; background: linear-gradient(180deg, rgba(28, 28, 28, 0) 28%, #1c1c1c 100%); z-index: 5; }

.p-dates-holidays__slider-wrap { position: relative; flex: 1; border-radius: 2.22222vw; overflow: hidden; }

.p-dates-holidays__slider-wrap .p-dates-holidays__slider-pagination { bottom: 6.94444vw; height: 2.77778vw; display: flex; align-items: center; justify-content: center; gap: 2.22222vw; }

.p-dates-holidays__slider-wrap .p-dates-holidays__slider-pagination .swiper-pagination-bullet { width: 2.22222vw; min-width: 2.22222vw; height: 2.22222vw; background: transparent; border: 1px solid #fff; margin: 0; opacity: 1; transition: all .15s ease-in-out; border-radius: 50%; backdrop-filter: blur(2.22222vw); }

.p-dates-holidays__slider-wrap .p-dates-holidays__slider-pagination .swiper-pagination-bullet-active { background: #fff; box-shadow: 0 0 0 1px #fff; }

.p-dates-holidays__slider-item { position: relative; }

.p-dates-holidays__slider-item-img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.p-dates-holidays__slider-arrows { display: none; position: absolute; bottom: 4.44444vw; left: 0; right: 0; width: 100%; align-items: center; justify-content: space-between; padding: 0 4.44444vw; z-index: 12; }

.p-dates-holidays__slider-arrows-prev, .p-dates-holidays__slider-arrows-next { display: flex; align-items: center; justify-content: center; width: 22.22222vw; height: 7.77778vw; border-radius: 1.66667vw; border: 1px solid #fff; backdrop-filter: blur(2.22222vw); }

.p-dates-holidays__slider-arrows-prev-icon, .p-dates-holidays__slider-arrows-next-icon { position: relative; width: 11.66667vw; height: 2.22222vw; }

.p-dates-holidays__slider-arrows-prev-icon { left: -1px; }

.p-dates-holidays__slider-arrows-next-icon { right: -1px; }
