/* Календарь спортивных мероприятий — стили по референсу reference/events.scss */

/* Двухколоночная раскладка: слева — фильтр и календарь, справа — сайдбар */
.sport-schedule-layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
@media (min-width: 1024px) {
    .sport-schedule-layout {
        flex-direction: row;
        gap: 2rem;
        align-items: flex-start;
    }
}
.sport-schedule-main {
    flex: 1 1 0%;
    min-width: 0;
}
.sport-schedule-sidebar {
    flex-shrink: 0;
}
@media (min-width: 1024px) {
    .sport-schedule-sidebar {
        width: 20rem; /* 320px, аналог lg:w-80 */
    }
}

/* Блок фильтра событий */
.events-filter .events-filter-items {
    box-sizing: border-box;
}

/* Кнопка «Очистить фильтр» под формой фильтра */
.sport-schedule-filter-clear {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
}
.sport-schedule-filter-clear-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px;
    border-radius: 8px;
    box-sizing: border-box;
    background: rgba(15, 27, 50, .46);
    width: 100%;
    text-align: center;
}
.sport-schedule-filter-clear-link:hover {
    background: #40f3f7;
    color: #0f1b32;
}

/* Фильтр по видам спорта — горизонтальная полоса с иконками/названиями */
.events-filter .events-filter-sport {
    margin-bottom: 20px;
    overflow-x: scroll;
    overflow-y: clip;
    white-space: nowrap;
    display: flex;
    gap: 10px;
    align-items: center;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    touch-action: pan-x;
}
@media (min-width: 768px) {
    .events-filter .events-filter-sport {
        max-height: 110px;
    }
}
.events-filter .events-filter-sport label {
    padding: 15px 0;
    cursor: pointer;
    flex-shrink: 0;
}
/* Скрываем только лишние span (не иконку, не кнопку, не название) */
.events-filter .events-filter-sport label span:not(.sport-name):not(.radio-btn):not(.icon-svg) {
    display: none;
}
.events-filter .events-filter-sport label .icon-svg {
    position: relative;
    transition: all 0.5s;
    height: 40px;
    width: 40px;
    display: inline-flex !important; /* перебиваем общее правило для span */
    flex-shrink: 0;
}
.events-filter .events-filter-sport label .icon-svg svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.events-filter .events-filter-sport label .icon-svg::before {
    content: '';
    display: block;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    background: rgba(64, 243, 247, 0.4);
    position: absolute;
    top: calc(50% - 30px / 2);
    right: calc(50% - 30px / 2);
    z-index: -1;
    transition: all 0.5s;
}
.events-filter .events-filter-sport label svg {
    height: 40px;
    width: 40px;
}
.events-filter .events-filter-sport label:hover .icon-svg::before {
    height: 40px;
    width: 40px;
    top: calc(50% - 40px / 2);
    right: calc(50% - 40px / 2);
}
.events-filter .events-filter-sport .radio-btn {
    padding: 10px;
    border: 1px solid transparent;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    color: #fff;
    transition: 0.3s;
}
.events-filter .events-filter-sport .radio-btn .sport-name {
    display: none;
}
.events-filter .events-filter-sport .radio-btn .sport-name.all {
    display: block;
    line-height: 42px;
}

/* Кастомный радио: скрытый input */
.events-filter .custom-radio > input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    display: none;
}
.events-filter .custom-radio > input:checked + .radio-btn {
    border: 1px solid #40f3f7;
    border-radius: 15px;
    color: #40f3f7;
    background: rgba(64, 243, 247, 0.13);
}
.events-filter .custom-radio > input:checked + .radio-btn .sport-name {
    display: block;
}

/* Обёртка формы (доп. стили) */
.sport-schedule-filters {

}

.sport-schedule-filter-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #e2e8f0;
    margin-bottom: 0.25rem;
    display: block;
}

.sport-schedule-filter-field {
    min-width: 0;
    flex: auto;
}

.sport-schedule-input,
.sport-schedule-select {
    padding: 0.5rem 0.75rem;
    border-radius: 15px;
    font-size: 0.875rem;
    border: 1px solid #40f3f7;
    background: rgba(0, 0, 0, 0);
    color: #fff;
}

/* Поле выбора даты (одно поле с промежутком) — по референсу events.scss */
.events-filter #event_date_datepicker,
.events-filter .events-filter__date {
    border-radius: 15px !important;
    color: #fff;
    border: 1px solid #40f3f7 !important;
    height: 52px;
    width: 100%;
    min-width: 12rem;
    margin: 0;
    padding: 5px 45px 5px 25px;
    cursor: pointer;
}
.events-filter__date-wrap {
    min-width: 0;
    background: transparent url('../img/arrow_bottom.png') no-repeat 95% 50% !important;
}

.sport-schedule-input::placeholder {
    color: #fff;
}

.sport-schedule-submit-btn {
    padding: 0.5rem 1rem;
    background: #40f3f7;
    color: #0f1b32;
    border: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.sport-schedule-submit-btn:hover {
    background: #2de0e4;
    color: #0f1b32;
}

/* Кастомный селект с поиском (страна / уровень) */
.search-select {
    position: relative;
}

.search-select__native {
    display: none;
}

.search-select__button {
    width: 100%;
    padding: 5px 45px 5px 25px;
    border-radius: 15px;
    font-size: 0.875rem;
    border: 1px solid #40f3f7;
    background: transparent url('../img/arrow_bottom.png') no-repeat 95% 50% !important;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    min-height: 3.25rem;
}

.search-select__button-label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search-select__button-caret {
    margin-left: 0.5rem;
    font-size: 0.75rem;
    opacity: 0.8;
}

.search-select__dropdown {
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    right: 0;
    background: #223358;
    border-radius: 12px;
    border: 1px solid #40f3f7;
    padding: 10px 15px;
    overflow: hidden;
    display: none;
}

.search-select.is-open .search-select__dropdown {
    display: block;
}

.search-select__search {
    width: 100%;
    padding: 8px 10px;
    margin-bottom: 5px;
    border: none;
    border-radius: 6px;
    background: #172644;
    color: #fff;
    font-size: 0.875rem;
    outline: none;
    box-sizing: border-box;
}

.search-select__list {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    max-height: 220px;
    overflow-y: auto;
}

.search-select__option {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    border-radius: 6px;
}

.search-select__option:hover {
    background: rgba(64, 243, 247, 0.13);
}

.search-select__option.is-selected {
    background: rgba(64, 243, 247, 0.2);
    color: #40f3f7;
}

.search-select__option.is-disabled {
    opacity: 0.5;
    cursor: default;
}

/* Таблица / список событий — визуально как в events.scss */
.sport-schedule-list-header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 1rem;
    padding: 10px 15px;
    margin-bottom: 20px;
    background: #0f1b32;
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 8px 8px 0 0;
    position: sticky;
    top: 0;
    z-index: 5;
}

.sport-schedule-group {
    margin-bottom: 15px;
    border: 1px solid #40f3f7;
    border-radius: 8px;
    overflow: hidden;
}

.sport-schedule-group-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 25px;
    background: #40f3f7;
    color: #0f1b32;
    font-weight: 600;
    font-size: 1rem;
    position: sticky;
    z-index: 4;
}

.sport-schedule-group-icon {
    display: inline-flex;
    height: 20px;
    width: 20px;
    margin-right: 15px;
    background: #1f3056;
    padding: 5px;
    border-radius: 50%;
    box-sizing: content-box;
}
.sport-schedule-group-icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sport-schedule-group-title {
    margin: 0;
    color: #0f1b32;
    font-size: 16px;
}

.sport-schedule-events {
    background: rgba(15, 27, 50, 0.5);
}

.sport-schedule-event-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 1rem;
    padding: 10px 15px;
    font-size: 0.875rem;
    align-items: flex-start;
}

.sport-schedule-event-row:nth-child(even) {
    background: rgba(64, 243, 247, 0.11);
}

.sport-schedule-event-row:last-child {
    border-bottom: none;
}

.sport-schedule-event-name a,
.sport-schedule-event-name .sport-schedule-event-name-link {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.sport-schedule-event-name a:hover,
.sport-schedule-event-name .sport-schedule-event-name-link:hover {
    color: #40f3f7;
    text-decoration: underline;
}

.sport-schedule-empty {
    padding: 2rem;
    text-align: center;
    color: #cbd5f5;
    border-radius: 0 0 8px 8px;
    background: rgba(15, 27, 50, 0.6);
    border: 1px solid #40f3f7;
}

/* Сайдбар — стили под референс */
.sport-schedule-sidebar-block {
    margin-bottom: 2rem;
    position: relative;
}

.sport-schedule-sidebar-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: #40f3f7;
}

.sport-schedule-sidebar-text {
    font-size: 0.875rem;
    color: #e5e7eb;
    margin: 0 0 0.75rem 0;
    line-height: 1.5;
}

.sport-schedule-sidebar-btn {
    display: inline-block;
    padding: 10px 15px;
    background: #40f3f7;
    color: #0f1b32;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    text-align: center;
}

.sport-schedule-sidebar-btn:hover {
    background: #2de0e4;
    color: #0f1b32;
}

/* Блок копирования ссылки в сайдбаре */
.events_copy_link {
    padding-top: 1.25rem;
    font-size: 0.875rem;
}

.events_copy_link a {
    padding: 10px 15px;
    border-radius: 8px;
    display: flex;
    background: #40f3f7;
    margin-top: 10px;
    color: #0f1b32;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.events_copy_link .events_copy_link-msg {
    opacity: 0;
    text-align: center;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #e5e7eb;
}

@media (max-width: 768px) {
    .sport-schedule-list-header,
    .sport-schedule-event-row {
        grid-template-columns: 1fr 1fr;
    }
    .sport-schedule-col-countries,
    .sport-schedule-event-countries {
        grid-column: 1 / -1;
    }
}

/* Кнопка/иконка «Добавить в календарь» у даты события */
.event-date .calendar-export-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.event-date .calendar-export-trigger:hover {
    color: #40f3f7;
}
.event-date .calendar-export-icon {
    flex-shrink: 0;
    opacity: 0.85;
}
.event-date .calendar-export-trigger:hover .calendar-export-icon {
    opacity: 1;
}

/* Модальное окно экспорта в календарь */
.calendar-modal {
    overflow: auto;
    backdrop-filter: blur(4px);
    padding: 1rem;
    box-sizing: border-box;
}
.calendar-modal-content {
    background: rgba(15, 27, 50, 0.98);
}
.calendar-modal .close-modal {
    position: absolute;
    right: 1rem;
    top: 1rem;
    font-size: 1.75rem;
    font-weight: 300;
    line-height: 1;
    color: #e5e7eb;
    cursor: pointer;
    padding: 0.25rem;
    border: none;
    background: none;
}
.calendar-modal .close-modal:hover {
    color: #40f3f7;
}
.calendar-modal h3 {
    margin: 0 0 1.25rem 0;
    font-size: 1.25rem;
    color: #fff;
    padding-right: 2rem;
}
.calendar-radio {
    align-items: center;
    gap: 0.75rem;
    color: #e5e7eb;
    font-size: 1rem;
}
.calendar-radio input {
    accent-color: #40f3f7;
}
.calendar-radio .radio-content {
    user-select: none;
}
.calendar-submit {
    background: #40f3f7;
    color: #0f1b32;
}
.calendar-submit:hover {
    opacity: 0.9;
}



.events-filter {
	margin-bottom: 1.5rem;

    @media (min-width: 1200px) {
        margin-bottom: 2.5rem;
    }
}
.events-filter .events-filter-items {
	display: flex;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
}
@media (max-width: 767px) {
	.events-filter .events-filter-items {
		flex-direction: column;
		gap: 15px;
	}
}
.events-filter .events-filter-items .item {
	flex: auto;
}
@media (max-width: 767px) {
	.events-filter .events-filter-items .item {
		width: 100%;
	}
}
.events-filter .events-filter-items .row {
	width: 100%;
	display: flex;
	gap: 30px;
	align-items: center;

    @media (min-width: 768px) and (max-width: 991px) {
        gap: 0.625rem;
    }
}
.events-filter .events-filter-items .row.checkbox-wrap {
    @media (min-width: 768px) and (max-width: 991px) {
        gap: 1.875rem;
        flex-wrap: wrap;
    }
}
.events-filter .events-filter-items .row.checkbox-wrap .item {
	flex: inherit;
}
@media (max-width: 767px) {
	.events-filter .events-filter-items .row {
		flex-direction: column;
		gap: 15px;
	}
}
.events-filter .events-filter-items * {
	box-sizing: border-box;
}
.events-filter .events-filter-items .jq-selectbox {
	width: 100%;
}
.events-filter .events-filter-items .jq-selectbox__select {
	border-radius: 15px !important;
	color: #fff;
	border: 1px solid #40f3f7 !important;
	background: transparent url('../img/arrow_bottom.png')
		no-repeat 95% 50% !important;
	margin: 0;
	width: 100%;
	height: auto;
}
.events-filter .events-filter-items .jq-selectbox__dropdown {
	border-radius: 15px !important;
	color: #fff;
	border: 1px solid #40f3f7 !important;
	left: 0;
}
.events-filter .events-filter-items .jq-selectbox__search input {
	border: none;
	border-radius: 8px;
	background: #172644;
	padding: 10px;
}
.events-filter #event_date_datepicker {
	border-radius: 15px !important;
	color: #fff;
	border: 1px solid #40f3f7 !important;
	background: transparent url('../img/arrow_bottom.png')
		no-repeat 95% 50% !important;
	height: 52px;
	width: 100%;
	margin: 0;
	padding: 5px 45px 5px 25px;
}
.events-filter .events-filter-sport {
	margin-bottom: 20px;
    overflow-x: scroll;
    overflow-y: clip;
    white-space: nowrap;
    display: flex;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    touch-action: pan-x;

    @media (min-width: 768px) {
        max-height: 110px;
    }

    &.dragging {
        cursor: grabbing;
        user-select: none;
    }
}
.events-filter .events-filter-sport label {
	padding: 15px;
	cursor: pointer;
}
.events-filter .events-filter-sport label span {
	display: none;
}
.events-filter .events-filter-sport label .icon-svg {
	position: relative;
	transition: all 0.5s;
	height: 40px;
}
.events-filter .events-filter-sport label .icon-svg:before {
	content: '';
	display: block;
	height: 30px;
	width: 30px;
	border-radius: 50%;
	background: rgba(64, 243, 247, 0.4);
	position: absolute;
	top: calc(50% - 30px / 2);
	right: calc(50% - 30px / 2);
	z-index: -1;
	transition: all 0.5s;
}
.events-filter .events-filter-sport label svg {
	height: 40px;
	width: 40px;
}
.events-filter .events-filter-sport label:hover .icon-svg:before {
	height: 40px;
	width: 40px;
	top: calc(50% - 40px / 2);
	right: calc(50% - 40px / 2);
}
.events-filter .events-filter-sport .radio-btn {
	padding: 10px;
	border: 1px solid transparent;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}
.events-filter .events-filter-sport .radio-btn .sport-name {
	display: none;
}
.events-filter .events-filter-sport .radio-btn .sport-name.all {
	display: block;
	line-height: 42px;
}
.events-filter .radio_container {
	display: flex;
	justify-content: space-around;
	align-items: center;
	border-radius: 15px;
	color: #fff;
	border: 1px solid #40f3f7;
	height: 50px;
}
@media (max-width: 480px) {
	.events-filter .radio_container {
		flex-direction: column;
		height: auto;
		align-items: inherit;
	}
}
.events-filter .radio_container input[type='radio'] {
	appearance: none;
	display: none;
}
.events-filter .radio_container label {
	border-radius: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 50px;
	flex: auto;
	cursor: pointer;
}
.events-filter .radio_container input[type='radio']:checked + label {
	color: #0f1b32;
	background: #40f3f7;
	transition: 0.3s;
}
.event-group-sport {
	border: 1px solid #40f3f7;
	padding: 10px;
	border-radius: 8px;
	margin-bottom: 15px;
}
.event-group-sport .sport-name {
	padding: 10px 25px;
	margin: -10px -10px 0 -10px;
	background: #40f3f7;
	border-radius: 8px 8px 0 0;
	color: #0f1b32;
	font-size: 16px;
	display: flex;
	align-items: center;
	position: sticky;
	top: 2.75rem;
	z-index: 9;

	@media (min-width: 481px) and (max-width: 630px) {
		top: 4.25rem;
	}
	@media (min-width: 631px) and (max-width: 767px) {
		top: 2.75rem;
	}
	@media (min-width: 768px) and (max-width: 910px) {
		top: 4.25rem;
	}
	@media (min-width: 911px) and (max-width: 991px) {
		top: 2.75rem;
	}
}
.not_sport_events .event-group-sport .sport-name {
	@media (min-width: 481px) and (max-width: 1090px) {
		top: 4.25rem;
	}

    @media (min-width: 1091px) {
		top: 4rem;
	}
}
.event-group-sport .sport-name svg {
	height: 20px;
	width: 20px;
	margin-right: 15px;
	background: #1f3056;
	padding: 5px;
	border-radius: 50%;
}
@media (max-width: 480px) {
	.event-group-sport .sport-name {
		top: 58px;
		padding: 5px 10px;
	}
}
@media (max-width: 480px) {
	.event-group-sport .sport-name.event-activity-name {
		top: 10px;
	}
}
.events_wrap_table.eng-add-height {
	.event-group-sport .sport-name {
		top: 3.625rem;

        @media (min-width: 397px) and (max-width: 479px) {
            top: 2.15rem;
        }

        @media (min-width: 480px) {
            top: 2.75rem;
        }
	}
}
.not_sport_events {
    .events_wrap_table.eng-add-height {
        .event-group-sport .sport-name {
            top: 3.625rem;

            @media (min-width: 768px) and (max-width: 859px) {
                top: 4.25rem;
            }

            @media (max-width: 612px) {
                top: 4.25rem;
            }
        }
    }

	@media (max-width: 480px) {
		.event-group-sport .sport-name,
		.events_wrap_table.eng-add-height .event-group-sport .sport-name {
			top: 0;
		}
	}
}
.event-group-sport table {
	margin-bottom: 0 !important;
}
.event-group-sport table tbody {
	display: flex;
	flex-direction: column;
}
.event-group-sport table tbody tr {
	display: flex;
}
.event-group-sport table tbody tr.online-event {
	order: -1;
}
.event-group-sport table tbody tr.online-event .online-event-name {
	display: flex;
	align-items: center;
}
.event-group-sport table tbody tr.online-event .online-event-name:before {
	content: '';
	display: inline-block;
	margin-right: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #38da6b;
	animation: animationFrames linear 1s;
	animation-iteration-count: infinite;
	-webkit-animation: animationFrames linear 1s;
	-webkit-animation-iteration-count: infinite;
	-moz-animation: animationFrames linear 1s;
	-moz-animation-iteration-count: infinite;
	-o-animation: animationFrames linear 1s;
	-o-animation-iteration-count: infinite;
	-ms-animation: animationFrames linear 1s;
	-ms-animation-iteration-count: infinite;
	animation-direction: alternate;
}
.event-group-sport table tbody tr.event-activity-item .event-name a:hover {
	text-decoration: underline;
}
@media (max-width: 480px) {
	.event-group-sport table tbody tr.event-activity-item {
		flex-direction: column;
		padding-bottom: 0.625rem;
		padding-top: 0.625rem;
	}
	.event-group-sport table tbody tr.event-activity-item td {
		width: 100% !important;
	}
}
/* для элемента input c type="radio" */
.custom-radio > input {
	position: absolute;
	z-index: -1;
	opacity: 0;
	display: none;
}
/* для элемента label связанного с .custom-radio */
.custom-radio > span {
	display: inline-flex;
	align-items: center;
	user-select: none;
}
/* создание в label псевдоэлемента  before со следующими стилями */
/* стили при наведении курсора на радио */
/* стили для активной радиокнопки (при нажатии на неё) */
/* стили для радиокнопки, находящейся в состоянии checked */
.custom-radio > input:checked + .radio-btn {
	border: 1px solid #40f3f7;
	border-radius: 15px;
	color: #40f3f7;
	background: rgba(64, 243, 247, 0.13);
}
.custom-radio > input:checked + .radio-btn .sport-name {
	display: block;
}
/* для элемента input c type="checkbox" */
.custom-checkbox > input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
/* для элемента label, связанного с .custom-checkbox */
.custom-checkbox > span {
	display: inline-flex;
	align-items: center;
	user-select: none;
    font-size: 0.875rem;
}
/* создание в label псевдоэлемента before со следующими стилями */
.custom-checkbox > span::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	flex-grow: 0;
	border: 1px solid #40f3f7;
	border-radius: 0.25em;
	margin-right: 0.5em;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%;
}
/* стили при наведении курсора на checkbox */
.custom-checkbox > input:not(:disabled):not(:checked) + span:hover::before {
	border-color: #40f3f7;
}
/* стили для активного чекбокса (при нажатии на него) */
.custom-checkbox > input:not(:disabled):active + span::before {
	background-color: #b3d7ff;
	border-color: #b3d7ff;
}
/* стили для чекбокса, находящегося в фокусе */
.custom-checkbox > input:focus + span::before {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* стили для чекбокса, находящегося в фокусе и не находящегося в состоянии checked */
.custom-checkbox > input:focus:not(:checked) + span::before {
	border-color: #80bdff;
}
/* стили для чекбокса, находящегося в состоянии checked */
.custom-checkbox > input:checked + span::before {
	border-color: #40f3f7;
	background-color: #40f3f7;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23000' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}
/* стили для чекбокса, находящегося в состоянии disabled */
.custom-checkbox > input:disabled + span::before {
	background-color: #e9ecef;
}
.blog_left.events_wrap .item:nth-of-type(1),
.blog_left.events_wrap .item:nth-of-type(7) {
	width: 33.33333%;
}
.blog_left.events_wrap .item:nth-of-type(1) .b_cat,
.blog_left.events_wrap .item:nth-of-type(7) .b_cat,
.blog_left.events_wrap .item:nth-of-type(1) .b_link,
.blog_left.events_wrap .item:nth-of-type(7) .b_link {
	display: block;
}
.blog_left.events_wrap .item {
	height: auto;
}
.event_block {
	height: 100%;
	position: relative;
	margin-right: 30px;
	border-radius: 5px;
	overflow: hidden;
	background-color: #101b32;
	box-shadow: 0px 0px 15px 0px rgba(7, 16, 39, 0.4);
}
.event_block .event_img {
	overflow: hidden;
	height: 169px;
	display: flex;
}
.event_block .event_img img {
	background-size: cover;
	height: 164px;
	position: absolute;
	min-width: 100%;
	object-fit: cover;
}
.event_block .event_img.no-page {
	background: #0f1b32 url('../img/bg.webp') no-repeat 50% 50%;
	background-size: cover;
}
.event_block .event_title {
	margin-top: 25px;
	margin-bottom: 15px;
	display: block;
	height: 46px;
	overflow: hidden;
	padding: 0px 19px;
}
.event_block .event_title a {
	color: #fff;
	font-weight: 700;
	line-height: 22px;
}
.event_block .event_text {
	font-size: 12px;
	line-height: 20px;
	color: #babbbf;
	margin-bottom: 10px;
	display: block;
	padding: 0px 19px;
}
.event_block .event_date {
	background: #0d162c;
	padding: 10px;
	text-align: center;
	border-radius: 5px;
	color: #40f3f7;
	margin: 0 19px 19px 19px;
}
.event_block .event_footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 38px);
	position: absolute;
	bottom: 15px;
	padding: 0px 19px;
}
.event_block .event_sport {
	padding: 3px 15px;
	position: absolute;
	font-size: 12px;
	z-index: 9;
	right: 19px;
	top: 10px;
	background: #0f1b32;
	border-radius: 40px;
}
.events-group-desc {
	margin-bottom: 20px;
}
@media (max-width: 480px) {
	.events-group-desc {
		text-align: center;
	}
}
.event-date-static input {
	display: none;
}
.event-date-static p {
	display: flex;
	align-items: center;
	margin-top: 15px;
	padding-left: 10px;
}
.event-date-static p span {
	display: block;
	height: 5px;
	width: 5px;
	border-radius: 50%;
	background: #40f3f7;
	margin-right: 5px;
}
.air-datepicker {
	background: #0f1b32 !important;
	border: none !important;
	border-radius: 5px !important;
	color: #fff !important;
	transition-duration: 0.1s !important;

    @media (max-height: 499px) {
        overflow-y: scroll;
        max-height: 22rem;
    }
}
.air-datepicker-nav {
	border-bottom: 1px solid #425581 !important;
	margin-bottom: 0 !important;
}
.air-datepicker-cell.-day-.-other-month-,
.air-datepicker-cell.-year-.-other-decade- {
	color: #4a4a4a !important;
}
.air-datepicker-cell.-focus- {
	color: #4a4a4a !important;
}
.air-datepicker--pointer:after {
	background: #0f1b32 !important;
	border: none !important;
}
.air-datepicker-cell.-day-.is_event:before {
	content: '';
	display: block;
	height: 5px;
	width: 5px;
	border-radius: 50%;
	background: #40f3f7;
	position: absolute;
	top: 0;
	right: 0;
}
.air-datepicker--buttons {
	border-top: none !important;
}
.air-datepicker-buttons {
	display: flex !important;
	flex-direction: column;
}
.air-datepicker-buttons .air-datepicker-button.active {
	background: #fff;
	color: #0f1b32;
}
.events_wrap_table {
	width: 100%;
	margin-right: 30px;
}
.events_wrap_table table {
	width: 100%;
	border: none;
	margin-bottom: 20px;
}
.events_wrap_table table thead th {
	font-weight: bold;
	text-align: left;
	border: none;
	padding: 10px 15px;
	background: #0f1b32;
	font-size: 14px;
}
@media (max-width: 480px) {
	.events_wrap_table table thead th {
		font-size: 12px;
		padding: 5px 10px;
	}
}
.not_sport_events .events_wrap_table table thead tr {
    gap: 2px;
    display: flex;
    align-items: center;

    th {
        height: 2.75rem;
        box-sizing: content-box;
        display: flex;
        align-items: center;
    }
}



.events_wrap_table table thead tr th:first-child {
	border-radius: 8px 0 0 8px;
}
.events_wrap_table table thead tr th:last-child {
	border-radius: 0 8px 8px 0;
}
.events_wrap_table table tbody td {
	text-align: left;
	border: none;
	padding: 10px 15px;
	font-size: 14px;
	vertical-align: top;
}
@media (max-width: 480px) {
	.events_wrap_table table tbody td {
		padding: 5px 10px;
	}
}
.events_wrap_table table tbody tr:nth-child(even) {
	background: rgba(64, 243, 247, 0.11);
}
.events_wrap_table table tbody tr td:first-child {
	border-radius: 8px 0 0 8px;
}
.events_wrap_table table tbody tr td:last-child {
	border-radius: 0 8px 8px 0;
}
.events_wrap_table {
	.table-head-sticky {
		position: sticky;
		top: -2px;
		z-index: 9;
	}
}

@media (max-width: 480px) {
	.events_wrap_table .table-head-sticky.event-activity-head {
		display: none;
	}
}
.events_wrap_table .event-post-none {
	padding-top: 10px;
}
.events_wrap_table .event-post-none p {
	text-align: center;
}
.blog_left.events_wrap {
	display: block;
	margin-right: 30px;
}
.events_filter_clear {
	display: none;
	text-align: center;
	justify-content: center;
    width: 16.5rem;
}
.events_filter_clear svg {
	height: 12px;
	width: 12px;
}
.events_filter_clear a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px;
	border-radius: 8px;
	box-sizing: border-box;
	background: rgba(15, 27, 50, 0.46);
	width: 100%;
	text-align: center;
}
.events_filter_clear a:hover {
	background: #40f3f7;
	color: #0f1b32;
}
.events_filter_clear a:hover path {
	fill: #0f1b32;
}
.events_filter_clear.active {
	display: flex;
}
.events_copy_link {
	padding-top: 20px;
}
.events_copy_link a {
	padding: 10px 15px;
	border-radius: 8px;
	display: flex;
	background: #40f3f7;
	margin-top: 10px;
	color: #0f1b32;
	gap: 10px;
	align-items: center;
}
.events_copy_link a svg {
	height: 24px;
	width: 24px;
}
.events_copy_link .events_copy_link-msg {
	opacity: 0;
	text-align: center;
}
.mobile-show {
	display: none;
}
@media (max-width: 480px) {
	.mobile-show {
		display: block;
	}
}
.desktop-show {
	display: block;
}
@media (max-width: 480px) {
	.desktop-show {
		display: none;
	}
}
/* START TOOLTIP STYLES */
[tooltip] {
	position: relative;
	/* opinion 1 */
}
/* Applies to all tooltips */
[tooltip]::before,
[tooltip]::after {
	text-transform: none;
	/* opinion 2 */
	font-size: 0.9em;
	/* opinion 3 */
	line-height: 1;
	user-select: none;
	pointer-events: none;
	position: absolute;
	display: none;
	opacity: 0;
}
[tooltip]::before {
	content: '';
	border: 5px solid transparent;
	/* opinion 4 */
	z-index: 1001;
	/* absurdity 1 */
}
[tooltip]::after {
	content: attr(tooltip);
	/* magic! */
	/* most of the rest of this is opinion */
	font-family: Helvetica, sans-serif;
	text-align: center;
	/* 
	Let the content set the size of the tooltips 
	but this will also keep them from being obnoxious
	*/
	min-width: 3em;
	max-width: 21em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 1ch 1.5ch;
	border-radius: 0.3ch;
	box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
	background: rgba(15, 27, 50, 0.46);
	color: #fff;
	z-index: 1000;
	/* absurdity 2 */
}
/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
	display: block;
}
/* don't show empty tooltips */
[tooltip='']::before,
[tooltip='']::after {
	display: none !important;
}
/* FLOW: UP */
[tooltip]:not([flow])::before,
[tooltip][flow^='up']::before {
	bottom: 100%;
	border-bottom-width: 0;
	border-top-color: #333;
}
[tooltip]:not([flow])::after,
[tooltip][flow^='up']::after {
	top: 10px;
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^='up']::before,
[tooltip][flow^='up']::after {
	left: 200%;
	transform: translate(-50%, -0.5em);
}
/* FLOW: DOWN */
[tooltip][flow^='down']::before {
	top: 100%;
	border-top-width: 0;
	border-bottom-color: #333;
}
[tooltip][flow^='down']::after {
	top: calc(100% + 5px);
}
[tooltip][flow^='down']::before,
[tooltip][flow^='down']::after {
	left: 50%;
	transform: translate(-50%, 0.5em);
}
/* FLOW: LEFT */
[tooltip][flow^='left']::before {
	top: 50%;
	border-right-width: 0;
	border-left-color: #333;
	left: calc(0em - 5px);
	transform: translate(-0.5em, -50%);
}
[tooltip][flow^='left']::after {
	top: 50%;
	right: calc(100% + 5px);
	transform: translate(-0.5em, -50%);
}
/* FLOW: RIGHT */
[tooltip][flow^='right']::before {
	top: 50%;
	border-left-width: 0;
	border-right-color: #333;
	right: calc(0em - 5px);
	transform: translate(0.5em, -50%);
}
[tooltip][flow^='right']::after {
	top: 50%;
	left: calc(100% + 5px);
	transform: translate(0.5em, -50%);
}
/* KEYFRAMES */
@keyframes tooltips-vert {
	to {
		opacity: 0.9;
		transform: translate(-50%, 0);
	}
}
@keyframes tooltips-horz {
	to {
		opacity: 0.9;
		transform: translate(0, -50%);
	}
}
/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^='up']:hover::before,
[tooltip][flow^='up']:hover::after,
[tooltip][flow^='down']:hover::before,
[tooltip][flow^='down']:hover::after {
	animation: tooltips-vert 300ms ease-out forwards;
}
[tooltip][flow^='left']:hover::before,
[tooltip][flow^='left']:hover::after,
[tooltip][flow^='right']:hover::before,
[tooltip][flow^='right']:hover::after {
	animation: tooltips-horz 300ms ease-out forwards;
}
.event-tag-wrap {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.event-tag {
	background: #fff;
	color: #0f1b32;
	padding: 3px 10px 3px 15px;
	border-radius: 4px;
	font-weight: bold;
	display: inline-block;
	margin-left: 20px;
	position: relative;
	flex-shrink: 0;
	height: 24px;
	line-height: 24px;
    min-height: 30px;
}
.event-tag:before {
	content: '';
	float: left;
	position: absolute;
	top: 0;
	left: -13px;
	width: 0;
	height: 0;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
	border-width: 15px 15px 15px 0;
}
.event-tag:after {
	content: '';
	position: absolute;
	top: 12px;
	left: 0;
	float: left;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #0f1b32;
}
.event-tag.cancel {
	background: #f44336;
	color: #fff;
}

.event-tag.cancel:before {
	border-color: transparent #f44336 transparent transparent;
}
.event-tag.event-favorite a {
	color: #0f1b32;
}
/* .event-tag.cancel:after{
  background: #fff
} */
.event-price .event-tag {
	background: #fcb900;

    @media (min-width: 768px) and (max-width: 991px) {
        font-size: 0.625rem;
    }
}
.event-price .event-tag:before {
	border-color: transparent #fcb900 transparent transparent;
}
.event-activity-item .event-name,
.event-activity-item .event-date {
	font-size: 16px;
}
.event-activity-item .event-date {
	margin-bottom: 10px;
}
.event-activity-item .event-topics {
    margin-top: 4px;
    font-size: 0.875rem;
}
.event-activity-item .event-topic {
    display: inline-block;
    margin-right: 0.25rem;
}
.event-activity-item .name-wrap {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.event-activity-item .event-meeting-with-us {
	font-size: 1rem;
    text-align: center;

	@media (max-width: 767px) {
		padding-right: 1rem;
	}

	a {
		color: #40f3f7;

		&:hover {
			text-decoration: underline;
		}
	}

	p {
		text-align: center;
	}
}
.single-event-info {
	margin-bottom: 15px;
}
.single-event-info .info-wrap {
	display: flex;
	align-items: stretch;
	gap: 15px;
}
.single-event-info .info-wrap .event-date,
.single-event-info .info-wrap .event-country {
	border-radius: 4px;
	background: #101b32;
	padding: 15px 25px;
	width: 20%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-shrink: 0;
}
.single-event-info .info-wrap .event-date .event-title,
.single-event-info .info-wrap .event-country .event-title {
	font-size: 18px;
	margin-bottom: 10px;
}
.single-event-info .info-wrap .event-date .date-item,
.single-event-info .info-wrap .event-date .country-item,
.single-event-info .info-wrap .event-country .date-item,
.single-event-info .info-wrap .event-country .country-item {
	color: #40f3f7;
	font-size: 28px;
	line-height: 1.3;
}
.single-event-info .info-wrap .event-type {
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 18px;
}
.single-event-info .info-wrap .event-tags {
	margin: auto;
}
.single-event-info .info-wrap .event-tags .tags-wrap {
	text-align: end;
}
.single-event-info .info-wrap .event-tags .tags-wrap .event-tag {
	margin: 5px 0;
	font-size: 18px;
	padding: 5px 10px 5px 15px;
}
.single-event-info .info-wrap .event-tags .tags-wrap .event-tag:before {
	border-width: 17px 17px 17px 0;
	left: -15px;
}
.single-event-info .info-wrap .event-tags .tags-wrap .event-tag:after {
	top: 14px;
}
.single-event-info .info-wrap .event-tags .tags-wrap .event-tag.promocode {
	background: #fcb900;
}
.single-event-info
	.info-wrap
	.event-tags
	.tags-wrap
	.event-tag.promocode:before {
	border-color: transparent #fcb900 transparent transparent;
}

li.menu-share {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
li.menu-share a {
	width: auto;
}
li.menu-share a.share-link {
	line-height: 0;
	text-align: left;
	width: auto;
}
li.menu-share svg {
	height: 16px;
	width: 16px;
}
@media (max-width: 767px) {
	li.menu-share {
		justify-content: flex-start;
	}
}
.events-constructor-present {
	margin: 25px 0;
    margin-top: 0;
	position: relative;

    p, a {
        font-size: 0.875rem;
    }
}
.events-constructor-present:before {
	content: '';
	display: block;
	width: 80px;
	height: 80px;
	background-image: url('../img/bg-calendar.webp');
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: -10px;
	right: -30px;

	@media (max-width: 767px) {
		right: 0px;
	}
}
.events-constructor-present .present-title {
	color: #40f3f7;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
}
.events-constructor-present a {
	padding: 10px 15px;
	border-radius: 8px;
	display: block;
	background: #40f3f7;
	margin-top: 15px;
	color: #0f1b32;
	text-align: center;
}

.events-add-event-desktop,
.events-add-event-mobile {
	a {
		padding: 10px 15px;
		border-radius: 8px;
		display: block;
		background: #40f3f7;
		color: #0f1b32;
		text-align: center;
	}
}

.events-add-event-desktop {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid #274869;

	@media (max-width: 767px) {
		display: none;
	}
}

.events-add-event-mobile {
	margin-bottom: 2rem;
	@media (min-width: 768px) {
		display: none;
	}
}
.calendar-modal {
	background: rgba(0, 0, 0, 0);
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: background 0.3s ease;

	&.active {
		background: rgba(0, 0, 0, 0.5);

		.calendar-modal-content {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.calendar-modal-content {
		background-color: #101b32;
		box-shadow: 0 0 80px 0 rgb(64 243 247 / 16%);
		border-radius: 0.625rem;
		border: 1px solid #253666;
		padding: 30px 0;
		margin: 0 15px;
		position: relative;
		max-width: 280px;
		width: 100%;
		color: #fff;
		opacity: 0;
		transform: translateY(50px);
		transition: all 0.3s ease;
		display: flex;
		flex-direction: column;
		align-items: center;

		h3 {
			text-align: center;
			margin-bottom: 30px;
			font-size: 18px;
			border-bottom: 1px solid #253666;
			padding-bottom: 15px;
			width: 100%;
			box-sizing: border-box;
		}
	}

	.calendar-links {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 30px;
		padding: 0 30px;
	}

	.calendar-radio {
		cursor: pointer;
		display: block;
		position: relative;
		padding-left: 30px;
		user-select: none;

		input {
			position: absolute;
			opacity: 0;
			cursor: pointer;
			height: 0;
			width: 0;
		}

		.radio-content {
			display: flex;
			align-items: center;
			gap: 10px;
			transition: all 0.3s ease;

			&:before {
				content: '';
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				width: 15px;
				height: 15px;
				border: 1px solid rgba(64, 243, 247, 0.5);
				border-radius: 50%;
				transition: all 0.3s ease;
			}

			&:after {
				content: '';
				position: absolute;
				left: 4.5px;
				top: 50%;
				transform: translateY(-50%) scale(0);
				width: 8px;
				height: 8px;
				background: #40f3f7;
				border-radius: 50%;
				transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
			}

			svg {
				width: 20px;
				height: 20px;
				flex-shrink: 0;
			}
		}

		&:hover .radio-content:before {
			border-color: #40f3f7;
			box-shadow: 0 0 5px rgba(64, 243, 247, 0.3);
		}

		input:checked + .radio-content {
			&:before {
				border-color: #40f3f7;
				border-width: 1px;
			}

			&:after {
				transform: translateY(-50%) scale(1);
			}
		}

		input:focus + .radio-content:before {
			box-shadow: 0 0 8px rgba(64, 243, 247, 0.5);
		}

		/* Анимация при нажатии */
		&:active .radio-content:before {
			transform: translateY(-50%) scale(0.9);
		}
	}

	.calendar-submit {
		width: auto;
		display: block;
		padding: 15px;
		background: rgba(166, 187, 211, 0.2);
		border: none;
		border-radius: 8px;
		color: #fff;
		font-weight: 600;
		cursor: pointer;
		transition: all 0.3s ease;
		font-size: 1rem;
		margin: 0 30px;
		box-sizing: border-box;

		&:hover {
			color: #0f1b32;
			background: #2de0e4;
		}
	}

	.close-modal {
		position: absolute;
		right: 10px;
		top: 10px;
		cursor: pointer;
		font-size: 1.5rem;
		color: #2d3b52;
		width: 1.5rem;
		height: 1.5rem;
		line-height: 20px;
		text-align: center;
		border-radius: 50%;
		transition: all 0.3s ease;

		&:hover {
			background: rgba(255, 255, 255, 0.2);
		}
	}
}

/* Стили для тултипа */
.calendar-export-trigger {
	position: relative;
	cursor: pointer;
    display: flex;
	align-items: center;
	gap: 10px;
	svg {
		width: 20px;
		height: 20px;
	}
}

.calendar-export-trigger:before {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 10px;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	border-radius: 4px;
	font-size: 12px;
	white-space: nowrap;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	z-index: 10;
}

.calendar-export-trigger:after {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: rgba(0, 0, 0, 0.8);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.calendar-export-trigger:hover:before,
.calendar-export-trigger:hover:after {
	visibility: visible;
	opacity: 1;
}

.events_wrap_table {
    .country-column,
    .date-column {
        @media (min-width: 481px) and (max-width: 991px) {
            text-align: center;
        }

        .event-tag {
            @media (min-width: 481px) and (max-width: 991px) {
                font-size: 0.5625rem;
                margin-left: 0.625rem;
            }
        }
    }

    .name-wrap {
        @media (min-width: 481px) and (max-width: 1199px) {
            flex-wrap: wrap;
            gap: 0.375rem;
        }
    }

    .event-tag.event-favorite {
        @media (min-width: 481px) and (max-width: 991px) {
            font-size: 0.625rem;
            display: flex;
            margin-left: 0.625rem;
        }
    }

    .event-price {
        @media (min-width: 768px) and (max-width: 991px) {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
    }
}

ul.slick-dots {
    bottom: 0;



    @media (max-width: 1365px) {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    @media (min-width: 1366px) {
        bottom: -1.25rem;
    }

    li {
        margin: 0;

        @media (max-width: 1365px) {
            display: flex;
            align-items: center;
        }
        
    
        button {
            background-color: grey;
            height: 2px;
            padding: 0;
            border-radius: 0;
        }
    
        &.slick-active button {
            height: 0.375rem;
            background-color: #3feef3;
            border-radius: 0.1875rem;
            border: none;
            width: 1.25rem;
        }
    }
}

.jq-selectbox__select {
    @media (min-width: 768px) and (max-width: 991px) {
        padding-left: 1rem;
        padding-right: 1.75rem;
    }
}

.item.type ul {
    @media (min-width: 768px) and (max-width: 991px) {
        overflow-x: scroll;
    }

    &::-webkit-scrollbar-thumb { height: 0px; background-color: #40f3f7; border-radius: 3px;}
}

.pinned_events {
    padding-bottom: 0.5rem;
}

.event-pinned-item {
    display: grid;
    border: 1px solid #FFE128;
    border-radius: 0.4375rem;
    padding-top: 1rem;
    padding-left: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    background-color: rgba(15, 27, 50, 0.5);
    position: relative;
    overflow: hidden;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;

    @media (min-width: 768px) {
        grid-template-columns: 37% 36% 22%;
        grid-template-rows: auto;
        padding-bottom: 1.5rem;
    }

    @media (min-width: 992px) {
        padding-top: 1.625rem;
        padding-left: 1.75rem;
        grid-template-columns: 38% 37% 20%;
    }

    @media (min-width: 1366px) {
        grid-template-columns: 40% 36% 22%;
    }

    .name-column {
        grid-column: 1 / -1;
        padding-bottom: 0.625rem;

        @media (min-width: 768px) {
            grid-column: auto;
            padding-bottom: 0;
        }
    }

    .date-column {
        padding-top: 1px;
        grid-column: 1;
        padding-top: 0.25rem;

        @media (min-width: 768px) {
            grid-column: auto;
            padding-top: 0;
        }

        @media (min-width: 992px) {
            padding-top: 0;
            text-align: center;
        }

        @media (min-width: 1366px) {
            text-align: left;
        }

        .event-price {
            font-size: 0.8125rem;

            @media (min-width: 992px) {
                font-size: 0.875rem;
            }
        }
    }

    .country-column {
        line-height: 1.125rem;
        grid-column: 2;
        padding-top: 0.25rem;
        padding-left: 1rem;
        font-size: 0.875rem;

        @media (min-width: 768px) {
            grid-column: auto;
            padding-top: 0;
            padding-left: 0;
        }

        @media (min-width: 992px) {
            line-height: 1.5rem;
            text-align: center;
        }

        @media (min-width: 1366px) {
            text-align: left;
            padding-left: 1rem;
        }

        .event-offline {
            font-size: 0.8125rem;
            padding-top: 0.25rem;

            @media (min-width: 728px) {
                padding-top: 0.375rem;
            }

            @media (min-width: 992px) {
                font-size: 0.875rem;
                padding-top: 0;
            }
        }
    }

    .event-type {
        display: flex;
        gap: 0.125rem;
        flex-wrap: wrap;
        align-items: center;

        @media (min-width: 992px) {
            gap: 0.5rem;
        }

        a {
            margin-right: 0.375rem;
            font-size: 0.75rem;
            line-height: 0.875rem;

            @media (min-width: 992px) {
                font-size: 0.875rem;
                line-height: 1.125rem;
            }
        }

        svg {
            width: 1.625rem;
            height: 1.625rem;

            @media (min-width: 768px) {
                width: 1.625rem;
                height: 1.625rem;
            }

            @media (min-width: 992px) {
                width: 1.375rem;
                height: 1.375rem;
            }
        }
    }

    .hot-event {
        padding-left: 0.5rem;
        color: #0F1B32;
        font-size: 0.5rem;
        line-height: 0.75rem;
        font-weight: 600;
        background-color: #FCB900;
        padding: 0.1875rem 0.375rem;
        border-radius: 0.25rem;
        filter: drop-shadow(0 0 60px rgba(7, 16, 39, 0.4));

        @media (min-width: 768px) {
            font-size: 0.5rem;
            margin-right: 0.25rem;
        }

        @media (min-width: 992px) {
            font-size: 0.625rem;
            padding: 0.375rem 0.625rem;
            margin-right: 0;
        }
    }

    .event-name {
        font-size: 1rem;
        line-height: 100%;
        line-height: 1.125rem;
        font-weight: 400;
        padding-bottom: 0.375rem;

        @media (min-width: 768px) {
            padding-bottom: 0.5rem;
        }

        @media (min-width: 992px) {
            font-size: 1.5rem;
            line-height: 1.5rem;
            padding-bottom: 0.5rem;
            font-weight: 600;
        }
    }

    .event-date {
        font-size: 0.875rem;
        line-height: 1.125rem;

        @media (min-width: 768px) {
            line-height: 1rem;
            margin-bottom: 0.25rem;
        }

        @media (min-width: 992px) {
            font-size: 1rem;
            margin-bottom: 0.5rem;
            line-height: 1.5rem;
        }
    }

    .tape {
        background-color: #40F3F7;
        color: #0F1B32;
        font-weight: 700;
        font-size: 0.4375rem;
        line-height: 0.5rem;
        text-transform: uppercase;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        padding-left: 5rem;
        padding-right: 2.25rem;
        transform: rotate(-30deg);
        position: absolute;
        right: -1.25rem;
        bottom: 0.25rem;

        @media (min-width: 768px) {
            bottom: 0;
            padding-right: 1.625rem;
            font-size: 0.4375rem;
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
        }

        @media (min-width: 992px) {
            font-size: 0.625rem;
            line-height: 0.75rem;
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
            bottom: 0.25rem;
        }

        @media (min-width: 1366px) {
            font-size: 0.75rem;
            line-height: 0.875rem;
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
            bottom: 0.625rem;
        }

    }

    &.hidden {
       display: none; 
    }
}


.events_wrap_table  {
    .schedule-content {
        padding: 2.5rem;
        background: rgb(3 20 42 / 60%);
        border-radius: 1rem;
        box-shadow: 0 0 2.5rem rgb(64 243 247 / 8%);
        border: 0.0625rem solid rgb(64 243 247 / 23%);
        margin: 2.5rem 0;

        a {
            color: #40f3f7;
            text-decoration: underline;
        }

        .accent {
            padding: 1.5rem;
            background: #213258;
            border-radius: 1.5rem;
            margin-top: 1rem;

            h2,
            h3 {
                margin-top: 0;
            }
        }

        h1,
        h2,
        h3 {
            margin: 1rem 0;
            color: #40f3f7;
            font-weight: bold;
            a{
                color: #40f3f7;
                text-decoration: underline;
            }
        }

        h2 {
            font-size: 1.25rem;
        }

        p {
            margin: 0.375rem 0;
            font-size: 0.875rem;
        }

        ul {
            padding-left: 0.625rem;

            li {
                list-style: circle;
                font-weight: bold;
                font-size: 0.875rem;
            }
        }

        .rhombus-list {
            list-style: none;
            padding-left: 1.5em; /* space for the rhombus */

            li {
                list-style: none;
            }
          }
          
          .rhombus-list li::before {
            content: "◆"; /* Unicode rhombus */
            color: #40F3F7; /* or any color */
            font-size: 0.8em;
            margin-right: 0.5em;
            position: relative;
            left: -1em;
          }
    }
}

.events-filter-sport > :last-child label:hover::after {
    @media (min-width: 1366px) {
        left: 0;
    } 
}

.blog_right {
    @media (min-width: 768px) {
        width: 16rem;
    }

	@media (min-width: 768px) and (max-width: 991px) {
        flex-shrink: 1;
    }
}

.events-filter input[name="title"] {
    min-height: 3.25rem;
    border-radius: 0.9375rem !important;
    color: #fff;
    border: 1px solid #40f3f7 !important;
    background: rgba(0, 0, 0, 0);
    margin: 0;
    width: 100%;
    height: auto;
    padding-left: 1.5625rem;
    padding-right: 0.875rem;
    font-size: 0.875rem;
    width: auto;

    @media (max-width: 767px) {
        font-size: 0.875rem !important;
    }

    @media (min-width:1366px) {
        min-width: 18rem;
    }
}

.blog_bg {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 0.625rem;
    flex-direction: column;

    @media (min-width: 768px) {
        padding: 0;
        flex-direction: row;
    }
}

.additional-title-events {
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 700;
    color: #40f3f7;
    line-height: 1.875rem;
    letter-spacing: .5px;
    font-family: "Open Sans", sans-serif;
    text-align: center;
    margin-bottom: 1.25rem;
    width: 100%;

    @media (min-width: 768px) {
        width: clamp(28.75rem, calc(100% - 15.625rem), 53.75rem);
    }

    @media (min-width: 1200px) {
        font-size: 1.875rem;
        margin-bottom: 1.875rem;
    }
}

.blog_left {
    width: 100%;
}

.event-visit-type {
    font-size: 0.875rem;
}

.title {
    font-size: 2.5rem;
    margin-bottom: 2.5rem;
}

.events-filter .events-filter-items .item.search {
    input {
        @media (max-width: 768px) {
            width: 100%;
        }

        &:focus-visible {
            outline: none;
            border-color: #40f3f7;
        }
    }
}

.checkbox-wrap {
    flex-direction: column;
    align-items: flex-start;

    @media (min-width: 768px) {
        flex-direction: row;
        align-items: center;
    }

    label {
        padding-left: 1.5rem;

        @media (min-width: 768px) {
            padding-left: 0;
        }
    }
}