 :root {
     --swiper-theme-color: #007aff
 }

 :host {
     position: relative;
     display: block;
     margin-left: auto;
     margin-right: auto;
     z-index: 1
 }

 .swiper {
     margin-left: auto;
     margin-right: auto;
     position: relative;
     overflow: hidden;
     list-style: none;
     padding: 0;
     z-index: 1;
     display: block
 }

 .swiper-vertical>.swiper-wrapper {
     flex-direction: column
 }

 .swiper-wrapper {
     position: relative;
     width: 100%;
     height: 100%;
     z-index: 1;
     display: flex;
     transition-property: transform;
     transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
     box-sizing: content-box
 }

 .swiper-android .swiper-slide,
 .swiper-ios .swiper-slide,
 .swiper-wrapper {
     transform: translateZ(0)
 }

 .swiper-horizontal {
     touch-action: pan-y
 }

 .swiper-vertical {
     touch-action: pan-x
 }

 .swiper-slide {
     flex-shrink: 0;
     width: 100%;
     height: 100%;
     position: relative;
     transition-property: transform;
     display: block
 }

 .swiper-slide-invisible-blank {
     visibility: hidden
 }

 .swiper-autoheight,
 .swiper-autoheight .swiper-slide {
     height: auto
 }

 .swiper-autoheight .swiper-wrapper {
     align-items: flex-start;
     transition-property: transform, height
 }

 .swiper-backface-hidden .swiper-slide {
     transform: translateZ(0);
     backface-visibility: hidden
 }

 .swiper-3d.swiper-css-mode .swiper-wrapper {
     perspective: 1200px
 }

 .swiper-3d .swiper-wrapper {
     transform-style: preserve-3d
 }

 .swiper-3d {
     perspective: 1200px
 }

 .swiper-3d .swiper-slide,
 .swiper-3d .swiper-cube-shadow {
     transform-style: preserve-3d
 }

 .swiper-css-mode>.swiper-wrapper {
     overflow: auto;
     scrollbar-width: none;
     -ms-overflow-style: none
 }

 .swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
     display: none
 }

 .swiper-css-mode>.swiper-wrapper>.swiper-slide {
     scroll-snap-align: start start
 }

 .swiper-css-mode.swiper-horizontal>.swiper-wrapper {
     scroll-snap-type: x mandatory
 }

 .swiper-css-mode.swiper-vertical>.swiper-wrapper {
     scroll-snap-type: y mandatory
 }

 .swiper-css-mode.swiper-free-mode>.swiper-wrapper {
     scroll-snap-type: none
 }

 .swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
     scroll-snap-align: none
 }

 .swiper-css-mode.swiper-centered>.swiper-wrapper:before {
     content: "";
     flex-shrink: 0;
     order: 9999
 }

 .swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
     scroll-snap-align: center center;
     scroll-snap-stop: always
 }

 .swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
     margin-inline-start: var(--swiper-centered-offset-before)
 }

 .swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper: before {
     height: 100%;
     min-height: 1px;
     width: var(--swiper-centered-offset-after)
 }

 .swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
     margin-block-start: var(--swiper-centered-offset-before)
 }

 .swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper: before {
     width: 100%;
     min-width: 1px;
     height: var(--swiper-centered-offset-after)
 }

 .swiper-3d .swiper-slide-shadow,
 .swiper-3d .swiper-slide-shadow-left,
 .swiper-3d .swiper-slide-shadow-right,
 .swiper-3d .swiper-slide-shadow-top,
 .swiper-3d .swiper-slide-shadow-bottom {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     pointer-events: none;
     z-index: 10
 }

 .swiper-3d .swiper-slide-shadow {
     background: #00000026
 }

 .swiper-3d .swiper-slide-shadow-left {
     background-image: linear-gradient(to left, #00000080, #0000)
 }

 .swiper-3d .swiper-slide-shadow-right {
     background-image: linear-gradient(to right, #00000080, #0000)
 }

 .swiper-3d .swiper-slide-shadow-top {
     background-image: linear-gradient(to top, #00000080, #0000)
 }

 .swiper-3d .swiper-slide-shadow-bottom {
     background-image: linear-gradient(to bottom, #00000080, #0000)
 }

 .swiper-lazy-preloader {
     width: 42px;
     height: 42px;
     position: absolute;
     left: 50%;
     top: 50%;
     margin-left: -21px;
     margin-top: -21px;
     z-index: 10;
     transform-origin: 50%;
     box-sizing: border-box;
     border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
     border-radius: 50%;
     border-top-color: transparent
 }

 :is(.swiper:not(.swiper-watch-progress), .swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader {
     animation: swiper-preloader-spin 1s infinite linear
 }

 .swiper-lazy-preloader-white {
     --swiper-preloader-color: #fff
 }

 .swiper-lazy-preloader-black {
     --swiper-preloader-color: #000
 }

 @keyframes swiper-preloader-spin {
     0% {
         transform: rotate(0)
     }

     to {
         transform: rotate(360deg)
     }
 }

 .swiper-pagination {
     position: absolute;
     text-align: center;
     transition: .3s opacity;
     transform: translateZ(0);
     z-index: 10
 }

 .swiper-pagination.swiper-pagination-hidden {
     opacity: 0
 }

 .swiper-pagination-disabled>.swiper-pagination,
 .swiper-pagination.swiper-pagination-disabled {
     display: none !important
 }

 .swiper-pagination-fraction,
 .swiper-pagination-custom,
 .swiper-horizontal>.swiper-pagination-bullets,
 .swiper-pagination-bullets.swiper-pagination-horizontal {
     bottom: var(--swiper-pagination-bottom, 8px);
     top: var(--swiper-pagination-top, auto);
     left: 0;
     width: 100%
 }

 .swiper-pagination-bullets-dynamic {
     overflow: hidden;
     font-size: 0
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     transform: scale(.33);
     position: relative
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
     transform: scale(1)
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
     transform: scale(.66)
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
     transform: scale(.33)
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
     transform: scale(.66)
 }

 .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
     transform: scale(.33)
 }

 .swiper-pagination-bullet {
     width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
     height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
     display: inline-block;
     border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
     background: var(--swiper-pagination-bullet-inactive-color, #000);
     opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
 }

 button.swiper-pagination-bullet {
     border: none;
     margin: 0;
     padding: 0;
     box-shadow: none;
     appearance: none
 }

 .swiper-pagination-clickable .swiper-pagination-bullet {
     cursor: pointer
 }

 .swiper-pagination-bullet:only-child {
     display: none !important
 }

 .swiper-pagination-bullet-active {
     opacity: var(--swiper-pagination-bullet-opacity, 1);
     background: var(--swiper-pagination-color, var(--swiper-theme-color))
 }

 .swiper-vertical>.swiper-pagination-bullets,
 .swiper-pagination-vertical.swiper-pagination-bullets {
     right: var(--swiper-pagination-right, 8px);
     left: var(--swiper-pagination-left, auto);
     top: 50%;
     transform: translate3d(0, -50%, 0)
 }

 :is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet {
     margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
     display: block
 }

 :is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic {
     top: 50%;
     transform: translateY(-50%);
     width: 8px
 }

 :is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     display: inline-block;
     transition: .2s transform, .2s top
 }

 :is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet {
     margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
 }

 :is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic {
     left: 50%;
     transform: translate(-50%);
     white-space: nowrap
 }

 :is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     transition: .2s transform, .2s left
 }

 .swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
     transition: .2s transform, .2s right
 }

 .swiper-pagination-fraction {
     color: var(--swiper-pagination-fraction-color, inherit)
 }

 .swiper-pagination-progressbar {
     background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
     position: absolute
 }

 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
     background: var(--swiper-pagination-color, var(--swiper-theme-color));
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     transform: scale(0);
     transform-origin: left top
 }

 .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
     transform-origin: right top
 }

 .swiper-horizontal>.swiper-pagination-progressbar,
 .swiper-pagination-progressbar.swiper-pagination-horizontal,
 .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
 .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
     width: 100%;
     height: var(--swiper-pagination-progressbar-size, 4px);
     left: 0;
     top: 0
 }

 .swiper-vertical>.swiper-pagination-progressbar,
 .swiper-pagination-progressbar.swiper-pagination-vertical,
 .swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
 .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
     width: var(--swiper-pagination-progressbar-size, 4px);
     height: 100%;
     left: 0;
     top: 0
 }

 .swiper-pagination-lock {
     display: none
 }

 :root {
     --swiper-navigation-size: 44px
 }

 .swiper-button-prev,
 .swiper-button-next {
     position: absolute;
     width: var(--swiper-navigation-size);
     height: var(--swiper-navigation-size);
     z-index: 10;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--swiper-navigation-color, var(--swiper-theme-color))
 }

 :is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled {
     opacity: .35;
     cursor: auto;
     pointer-events: none
 }

 :is(.swiper-button-prev, .swiper-button-next).swiper-button-hidden {
     opacity: 0;
     cursor: auto;
     pointer-events: none
 }

 .swiper-navigation-disabled :is(.swiper-button-prev, .swiper-button-next) {
     display: none !important
 }

 :is(.swiper-button-prev, .swiper-button-next) svg {
     width: 100%;
     height: 100%;
     object-fit: contain;
     transform-origin: center;
     fill: currentColor;
     pointer-events: none
 }

 .swiper-button-lock {
     display: none
 }

 .swiper-horizontal .swiper-button-prev,
 .swiper-horizontal .swiper-button-next,
 .swiper-horizontal~.swiper-button-prev,
 .swiper-horizontal~.swiper-button-next {
     top: var(--swiper-navigation-top-offset, 50%);
     margin-top: calc(0px - (var(--swiper-navigation-size) / 2))
 }

 .swiper-horizontal .swiper-button-prev,
 .swiper-horizontal~.swiper-button-prev,
 .swiper-horizontal.swiper-rtl .swiper-button-next,
 .swiper-horizontal.swiper-rtl~.swiper-button-next {
     left: var(--swiper-navigation-sides-offset, 4px);
     right: auto
 }

 .swiper-horizontal .swiper-button-next,
 .swiper-horizontal~.swiper-button-next,
 .swiper-horizontal.swiper-rtl .swiper-button-prev,
 .swiper-horizontal.swiper-rtl~.swiper-button-prev {
     right: var(--swiper-navigation-sides-offset, 4px);
     left: auto
 }

 :is(.swiper-horizontal .swiper-button-prev, .swiper-horizontal~.swiper-button-prev, .swiper-horizontal.swiper-rtl .swiper-button-next, .swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon {
     transform: rotate(180deg)
 }

 :is(.swiper-horizontal.swiper-rtl .swiper-button-prev, .swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon {
     transform: rotate(0)
 }

 .swiper-vertical .swiper-button-prev,
 .swiper-vertical .swiper-button-next,
 .swiper-vertical~.swiper-button-prev,
 .swiper-vertical~.swiper-button-next {
     left: var(--swiper-navigation-top-offset, 50%);
     margin-left: calc(0px - (var(--swiper-navigation-size) / 2))
 }

 .swiper-vertical .swiper-button-prev,
 .swiper-vertical~.swiper-button-prev {
     top: var(--swiper-navigation-sides-offset, 4px);
     bottom: auto;
     transform: rotate(-90deg)
 }

 .swiper-vertical .swiper-button-next,
 .swiper-vertical~.swiper-button-next {
     bottom: var(--swiper-navigation-sides-offset, 4px);
     top: auto;
     transform: rotate(90deg)
 }

 .swiper-virtual .swiper-slide {
     -webkit-backface-visibility: hidden;
     transform: translateZ(0)
 }

 .swiper-virtual.swiper-css-mode .swiper-wrapper:after {
     content: "";
     position: absolute;
     left: 0;
     top: 0;
     pointer-events: none
 }

 .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
     height: 1px;
     width: var(--swiper-virtual-size)
 }

 .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
     width: 1px;
     height: var(--swiper-virtual-size)
 }

 .swiper-carousel {
     position: relative;
     margin: 0 auto;
     max-width: 100%;
     overflow: hidden
 }

 .swiper-carousel .swiper-slide,
 .swiper-carousel swiper-slide {
     position: relative
 }


 #app {
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center
 }

 :root {
     --swiper-navigation-color: #fff;
     --swiper-pagination-color: #fff;
     --swiper-pagination-bullet-inactive-color: #fff
 }

 .swiper-carousel {
     padding-bottom: 32px;
     max-width: 1200px
 }

 .swiper-carousel .swiper-slide {
     width: 520px;
     height: 380px;
     border-radius: 8px;
     background: #18212b;
     max-width: calc(100% - 48px)
 }

 .swiper-carousel .swiper-carousel-animate-opacity {
     height: 100%
 }

 .swiper-carousel .swiper-pagination-bullets {
     bottom: 0
 }

 .swiper-carousel img {
     width: 100%;
     height: 100%;
     display: block;
     object-fit: cover;
     border-radius: 8px
 }

 .swiper-carousel .slide-content {
     position: absolute;
     left: 0;
     width: 100%;
     bottom: 0;
     padding: 88px 16px 24px;
     box-sizing: border-box;
     background: linear-gradient(to bottom, #0000, #000000bf);
     border-radius: 0 0 8px 8px
 }

 .swiper-carousel .slide-content h2 {
     margin: 0;
     font-weight: 700;
     font-size: 24px;
     line-height: 1.1
 }

 .swiper-carousel .slide-content p {
     margin: 8px 0 0;
     opacity: .65;
     font-size: 14px;
     font-weight: 500;
     display: -webkit-box;
     -webkit-box-orient: vertical;
     -webkit-line-clamp: 2;
     overflow: hidden
 }

 @media (max-width: 640px) {

     .swiper-carousel .swiper-button-next,
     .swiper-carousel .swiper-button-prev {
         display: none !important
     }
 }
.owl-carousel-masterclass{
   
    
}
.owl-carousel-masterclass .owl-stage{ max-height: 320px; }

.owl-carousel-masterclass .owl-stage-outer{  border-radius: 10px;}
 .calendar {

     background: white;
     border-radius: 10px;
     
     overflow: hidden; font-size: 14px;
 }

 .month {
     
     color: #000;
     text-align: center;
     padding: 0px 0 10px 0;
     font-size: 1.5em;
     font-weight: 600;
 }

 .weekdays {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     background: #e0e7ff;
     color: #1e3a8a;
     font-weight: 600;
     text-align: center;
     padding: 6px 0;
 }

 .days {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     text-align: center;
     padding: 6px;
     gap: 4px;
 }

 .days div {
     padding: 8px;
     border-radius: 6px;
     cursor: default;
 }

 .days div:hover {
     background: #dbeafe;
 }

 .today {
     background: linear-gradient(44.43deg, #3e4eb0 -20.27%, #164e47 105%);
     color: white;
     font-weight: bold;
     cursor: pointer;

     & a {
         color: #fff;
         text-decoration: none;
         cursor: pointer;
     }
 }

 .empty {
     visibility: hidden;
 }
 .master-row{ padding: 20px; background-color: #fff;}