:root {
	--header-height: 77.9844px;
	--sidebar-margin-left: 30px;
	--sidebar-width: 120px;
	--logo-top-offset: 15px;
	--logo-container-height: 120px;
	--logo-max-height: 200px;
	--sidebar-width-mobile: 60px;
	--sidebar-margin-left-mobile: 15px;
	--logo-max-height-mobile: 120px;
	--logo-top-offset-mobile: 10px;
	--public-content-font-size: 1.3rem;
	--public-content-line-height: 1.6
}

html {
	scroll-behavior: smooth
}

body:not(.ready) #admin-section,
body:not(.ready) #public-wrapper,
body:not(.ready) footer {
	opacity: 0;
	transition: opacity .3s ease-in
}

body {
	font-family: Inter, sans-serif;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #374151;
	position: relative
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Inter, sans-serif;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.25
}

#news-archive-inline-detail-view .prose,
#public-news-inline-detail-view .prose {
	font-size: 1rem;
	line-height: 1.7;
	color: #374151
}

#news-archive-inline-detail-view .text-gray-600.italic,
#public-news-inline-detail-view .text-gray-600.italic {
	font-size: 1rem;
	font-style: italic;
	color: #4b5563
}

#news-archive-inline-detail-view .prose h2,
#public-news-inline-detail-view .prose h2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 1.5em;
	margin-bottom: .8em;
	color: var(--colore-secondario)
}

.btn {
	display: inline-block;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	user-select: none;
	border: 2px solid transparent;
	padding: .6rem 1.25rem;
	font-size: .95rem;
	line-height: 1.5;
	border-radius: .375rem;
	transition: all .25s ease-in-out
}

.btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .18)
}

.btn-primary {
	background-color: var(--colore-primario);
	color: #fff;
	border-color: var(--colore-primario)
}

.btn-primary:hover {
	background-color: var(--colore-primario-dark);
	border-color: var(--colore-primario-dark)
}

.btn-secondary {
	background-color: var(--colore-secondario);
	color: #fff;
	border-color: var(--colore-secondario)
}

.btn-secondary:hover {
	background-color: var(--colore-secondario-dark);
	border-color: var(--colore-secondario-dark)
}

.btn-secondary-on-primary {
	background-color: var(--colore-secondario);
	color: #fff;
	border-color: var(--colore-secondario)
}

.btn-secondary-on-primary:hover {
	background-color: var(--colore-secondario-dark);
	border-color: var(--colore-secondario)
}

.btn-neutral {
	background-color: #e5e7eb;
	color: #374151;
	border-color: #e5e7eb
}

.btn-neutral:hover {
	background-color: #d1d5db;
	border-color: #d1d5db
}

.activity-card,
.contact-card,
.news-card {
	transition: transform .3s ease-in-out, box-shadow .3s ease-in-out, border-color .3s ease-in-out;
	border: 1px solid #e5e7eb;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .07)
}

.activity-card.bg-light,
.contact-card.bg-light {
	background-color: #f8fafc
}

.activity-card:hover,
.contact-card:hover,
.news-card:hover {
	transform: translateY(-6px) scale(1.03);
	box-shadow: 0 12px 20px -3px rgba(0, 0, 0, .1), 0 8px 10px -4px rgba(0, 0, 0, .08)
}

.activity-card:hover {
	border-color: var(--colore-primario)
}

.contact-card:hover {
	border-color: var(--colore-secondario)
}

.news-card:hover {
	border-color: var(--colore-primario)
}

.loading-spinner {
	border: 4px solid rgba(0, 0, 0, .1);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border-left-color: var(--colore-primario);
	animation: spin 1s ease infinite;
	margin: 20px auto
}

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

	100% {
		transform: rotate(360deg)
	}
}

button .loading-spinner-inline {
	display: none;
	border: 2px solid rgba(255, 255, 255, .3);
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border-left-color: #fff;
	animation: spin 1s ease infinite;
	margin-right: 8px;
	vertical-align: middle
}

header.bg-primary {
	position: relative;
	z-index: 40
}

.hero-slideshow-container {
	height: 50vh;
	min-height: 380px;
	background-color: var(--colore-primario);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden
}

.hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
	z-index: 0
}

.hero-slide-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 50%;
	transform: scale(1.1);
	animation: kenburns-vertical-pan 20s ease-in-out infinite alternate
}

@keyframes kenburns-vertical-pan {
	0% {
		transform: scale(1.1);
		object-position: center 20%
	}

	50% {
		transform: scale(1.25);
		object-position: center 50%
	}

	100% {
		transform: scale(1.1);
		object-position: center 80%
	}
}

.custom-hero-content-container {
	position: relative;
	z-index: 20
}

#hero-slogan {
	transition: opacity .5s ease-in-out
}

#hero-slogan span {
	color: #fff;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, .7), 0 0 10px rgba(0, 0, 0, .5), 2px 2px 8px rgba(0, 0, 0, .3)
}

#hero-logo-ecm-container {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	z-index: 30;
	max-width: 220px
}

#main-logo {
	display: block;
	max-height: var(--logo-max-height);
	object-fit: contain;
	transition: filter .3s ease, max-height .3s ease, transform .3s ease
}

#hero-logo-ecm-container .logo-link:hover #main-logo {
	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .35));
	transform: scale(1.03)
}

@media (max-width:768px) {
	#hero-logo-ecm-container {
		bottom: 1rem;
		left: 1rem;
		max-width: 160px
	}
}

#hero-bottom-bar {
	height: var(--header-height);
	justify-content: flex-end;
	padding-left: calc(var(--sidebar-margin-left) + var(--sidebar-width) + 1.5rem);
	padding-right: 10%;
	box-sizing: border-box;
	background-color: rgba(var(--colore-secondario-rgb), .7)
}

#hero-main-title-bottom {
	font-size: clamp(1rem, 2.2vw, 1.65rem);
	line-height: 1.2;
	text-align: right;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, .5)
}

#page-news-ticker-section {
	position: absolute;
	top: 5px;
	left: 0;
	right: 0;
	z-index: 15;
	height: 35.1875px
}

.news-ticker-track {
	white-space: nowrap !important;
	padding: .5rem 0
}

.news-ticker-content {
	display: inline-block;
	padding-left: 100%;
	animation: newsTickerAnimation 90s linear infinite;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, .7)
}

.news-ticker-content span {
	display: inline-block;
	padding: 0 1rem
}

@keyframes newsTickerAnimation {
	0% {
		transform: translateX(0)
	}

	100% {
		transform: translateX(-200%)
	}
}

@media (max-width:768px) {
	:root {
		--media-card-width: 80vw
	}

	.media-card-content {
		padding: 1rem 1.25rem
	}

	.media-card-content h4 {
		font-size: 20px
	}
}

@media (min-width:769px) and (max-width:1024px) {
	:root {
		--media-card-width: 65vw
	}
}

@media (min-width:1025px) {
	:root {
		--media-card-width: 45vw
	}
}

.sticky-parent-container {
	position: relative
}

.sticky-title {
	position: sticky;
	top: 0;
	z-index: 20;
	background-color: transparent;
	padding: 1rem 0
}

.content-wrapper {
	position: relative;
	z-index: 25;
	background-color: transparent
}

.section-title-inline-graphic {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(var(--colore-secondario-rgb), .12);
	text-align: center;
	margin: 0 0 1.5rem 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow: hidden
}

.section-title-inline-graphic span,
.title-contact,
.title-news-events,
.title-partners {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: clip
}

.title-activities {
	line-height: .98;
	margin-bottom: 2rem
}

.title-activities .title-line-1 {
	font-size: clamp(2rem, 8vw, 10rem);
	letter-spacing: clamp(.1em, 4.5vw, 5em)
}

.title-activities .title-line-2 {
	font-size: clamp(2rem, 11vw, 14.5rem);
	letter-spacing: clamp(.4em, 1.4vw, 2.2em)
}

.title-news-events,
.title-partners {
	font-size: clamp(1.5rem, 7vw, 10rem);
	letter-spacing: clamp(.08em, 2.5vw, 2em);
	line-height: .95
}

.title-contact {
	font-size: clamp(1.4rem, 6.5vw, 8rem);
	letter-spacing: clamp(.2em, 4.5vw, 5em);
	line-height: .9
}

.title-medioteca {
	font-size: clamp(1.4rem, 8vw, 10rem);
	letter-spacing: clamp(.5em, 5vw, 6vw);
	line-height: .9
}

#coach-tip-section {
	position: relative;
	overflow: hidden;
	height: 245px;
	display: flex;
	align-items: center
}

#coach-tip-bg-image {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover
}

#coach-tip-bg-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--colore-secondario);
	opacity: .75;
	z-index: 1
}

.coach-tip-dynamic-img {
	display: none;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0
}

#coach-tip-section .container {
	position: relative;
	z-index: 2
}

#coach-tip-section h2,
#coach-tip-section p#coach-tip-author,
#coach-tip-section p#coach-tip-text {
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, .6);
	transition: opacity .8s ease-in-out
}

#coach-tip-section .container p.text-xl {
	font-size: 17.6px;
	padding-left: 10px;
	padding-right: 10px
}

#coach-tip-section .close-quote,
#coach-tip-section .open-quote {
	font-family: Inter, sans-serif;
	font-weight: 600;
	color: rgba(255, 255, 255, .8);
	font-size: 4.5rem;
	text-shadow: 0 0 5px rgba(0, 0, 0, .3);
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-65%)
}

#coach-tip-section .open-quote {
	left: -.2em
}

#coach-tip-section .close-quote {
	right: -.2em
}

@media (min-width:768px) {
	#coach-tip-bg-image {
		background-attachment: fixed
	}
}

@media (max-width:767px) {
	#coach-tip-bg-image {
		background-image: none !important
	}

	.coach-tip-dynamic-img {
		display: block;
		object-position: center 20%
	}

	#coach-tip-section .container p.text-xl {
		font-size: 14px
	}
}

.featured-news-item .featured-news-title-text a,
.featured-news-item .text-sm.opacity-90 {
	color: #fff !important;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, .6), 0 0 6px rgba(0, 0, 0, .4), 2px 2px 5px rgba(0, 0, 0, .5)
}

.featured-news-item .featured-news-title-text a:hover {
	text-decoration: underline !important
}

.featured-news-item-image-wrapper {
	position: relative;
	height: 50vh;
	max-height: 450px;
	overflow: hidden;
	border-radius: .5rem
}

.featured-news-item-image-wrapper img {
	transition: transform .5s ease-in-out;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.featured-news-item.group:hover .featured-news-item-image-wrapper img {
	transform: scale(1.05)
}

.summary-truncate-2-lines {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	line-clamp: 4;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.5em;
	max-height: 3em
}

.activity-card-clickable {
	cursor: pointer
}

#activity-coaches-inline-detail-view,
#news-archive-inline-detail-view,
#public-news-inline-detail-view {
	margin-top: 2rem;
	padding-top: 0;
	border-top: 1px solid #e5e7eb;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transform: translateY(-10px);
	transition: all .4s ease-in-out;
	visibility: hidden
}

#activity-coaches-inline-detail-view.open,
#news-archive-inline-detail-view.open,
#public-news-inline-detail-view.open {
	max-height: 5000px;
	opacity: 1;
	transform: translateY(0);
	padding-top: 2rem;
	visibility: visible
}

.calendar-day {
	border-radius: .5rem;
	padding: .5rem;
	height: 6rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: all .2s ease;
	border: 1px solid #e5e7eb;
	box-sizing: border-box
}

.calendar-day:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .1)
}

.calendar-day.has-events {
	background-color: #ffe4e6
}

.calendar-day.no-events {
	background-color: #fefce8
}

.calendar-day.is-today {
	border: 4px solid #ef4444 !important
}

.calendar-day.other-month {
	opacity: .3;
	background-color: #fff
}

.organizer-wrapper {
	position: relative;
	height: 100%
}

.organizer-line {
	position: absolute;
	left: 0;
	right: 0;
	border-bottom: 1px solid #d1d5db
}

.organizer-line.line-1 {
	display: flex
}

.line-full {
	flex: 1;
	border-bottom: 1px solid #d1d5db
}

.organizer-line.line-2,
.organizer-line.line-3 {
	width: 100%
}

.organizer-content {
	position: absolute;
	top: .25rem;
	left: .125rem;
	right: .25rem;
	max-height: 3.875rem;
	overflow: hidden
}

.day-number {
	font-size: 1.5rem;
	font-weight: 700;
	color: #374151
}

.day-number.other-month-number {
	font-size: .875rem;
	font-weight: 600;
	color: #9ca3af
}

.event-title {
	font-size: .75rem;
	color: #1f2937;
	font-weight: 500
}

.mobile-calendar-container {
	display: flex;
	flex-direction: column;
	gap: 1rem
}

.calendar-day.mobile-card {
	width: 100%;
	height: 90px !important;
	min-height: 90px !important;
	max-height: 90px !important;
	padding: 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
	background-color: #ffe4e6 !important;
	box-sizing: border-box
}

.calendar-day.mobile-card.is-today {
	border: 4px solid #ef4444 !important
}

.calendar-day.mobile-card:not(.is-today) {
	border-color: #e5e7eb;
	border-width: 2px
}

.organizer-wrapper.mobile {
	height: 100%
}

.organizer-content.mobile {
	max-height: 75px
}

.day-number.mobile {
	font-size: 1.5rem
}

.event-title.mobile {
	font-size: .75rem
}

.calendar-header {
	text-align: center;
	font-weight: 700;
	padding: .5rem;
	font-size: .875rem
}

.hidden-mobile {
	display: none
}

#calendar-event-details {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: scaleY(.95);
	transform-origin: top;
	transition: all .4s ease-in-out;
	background-color: #e0f2fe;
	border-radius: .75rem;
	border: 2px solid #bae6fd
}

#calendar-event-details.details-visible {
	max-height: 1000px;
	opacity: 1;
	transform: scaleY(1);
	margin-top: 1.5rem;
	padding: 1.5rem;
	animation: slideDown .3s ease
}

.event-details-title {
	font-size: 1.125rem;
	font-weight: 600;
	color: #0c4a6e;
	margin-bottom: .75rem
}

.event-details-list {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	list-style: none;
	padding: 0;
	margin: 0
}

.event-details-item {
	padding: .75rem;
	background-color: #f0f9ff;
	border-radius: .375rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
	border: 1px solid #0ea5e9
}

.event-item-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start
}

.event-item-info {
	flex: 1
}

.event-item-title {
	color: #075985;
	font-size: 1rem;
	display: block
}

.event-item-time {
	font-size: .875rem;
	color: #0284c7;
	margin-top: .25rem
}

.event-item-time i {
	margin-right: .25rem
}

.event-item-description {
	font-size: .875rem;
	color: #374151;
	margin-top: .5rem
}

.add-to-calendar-btn {
	margin-left: .5rem;
	padding: .5rem
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px) scaleY(.95)
	}

	to {
		opacity: 1;
		transform: translateY(0) scaleY(1)
	}
}

.bg-blue-500 {
	background-color: #3b82f6
}

.bg-green-500 {
	background-color: #22c55e
}

.bg-purple-500 {
	background-color: #a855f7
}

@media screen and (min-width:1025px) {
	.hidden-mobile {
		display: block
	}
}

@media screen and (max-width:1024px) {

	.calendar-header,
	.hidden-mobile {
		display: none !important
	}

	.event-title {
		font-size: .625rem;
		line-height: 1.2
	}
}

@media screen and (max-width:768px) {
	.event-title {
		font-size: .5625rem;
		line-height: 1.1
	}

	#current-month {
		font-size: 1.75rem !important
	}
}

@media screen and (max-width:480px) {
	.event-title {
		font-size: .5rem;
		line-height: 1
	}

	#current-month {
		font-size: 1.5rem !important
	}

	.calendar-day.mobile-card {
		padding: .75rem
	}
}

.event-text {
	overflow: hidden;
	text-overflow: clip
}

.admin-panel {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .5s ease-out, opacity .3s ease-out
}

.admin-panel.open {
	max-height: 5000px;
	opacity: 1
}

#admin-section .bg-white,
#admin-section .bg-white * {
	color: #1f2937
}

#admin-section .bg-white a {
	color: #2563eb
}

#admin-section .bg-white a:hover {
	color: #1d4ed8
}

#admin-section .btn-primary i,
#admin-section .btn-secondary i,
#admin-section .btn[style*="background-color:#ef4444"] i {
	color: #fff !important
}

#admin-section .btn-neutral i {
	color: inherit !important
}

.admin-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 1rem;
	font-size: .875rem
}

#trash-section.hidden {
	display: none;
	opacity: 0
}

#trash-section {
	transition: opacity .4s ease-in-out
}

.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, .65)
}

.modal-content {
	background-color: #fefefe;
	margin: 7% auto;
	padding: 28px;
	border: 0;
	width: 85%;
	max-width: 700px;
	border-radius: 10px !important;
	clip-path: inset(0 round 10px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
	position: relative
}

body.modal-open {
	overflow: hidden
}

.close-modal-btn {
	color: #aaa;
	position: absolute;
	top: 12px;
	right: 20px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
	transition: color .2s ease;
	cursor: pointer
}

.close-modal-btn:focus,
.close-modal-btn:hover {
	color: #555
}

@supports (-webkit-touch-callout:none) {
	body.modal-open {
		position: relative;
		height: 100vh;
		overflow: hidden
	}
}

#document-grid,
#trash-grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 1rem;
	max-height: 400px;
	overflow-y: auto;
	padding-right: 8px
}

#document-grid::-webkit-scrollbar,
#trash-grid-container::-webkit-scrollbar {
	width: 6px
}

#document-grid::-webkit-scrollbar-track,
#trash-grid-container::-webkit-scrollbar-track {
	background: 0 0
}

#document-grid::-webkit-scrollbar-thumb,
#trash-grid-container::-webkit-scrollbar-thumb {
	background-color: #d1d5db;
	border-radius: 10px
}

#document-grid .group,
#trash-grid-container .group {
	position: relative;
	padding: .5rem;
	text-align: center;
	border-radius: .5rem
}

#document-grid .group:hover,
#trash-grid-container .group:hover {
	background-color: #f8fafc;
	z-index: 10
}

#document-grid .file-icon-main,
#trash-grid-container .file-icon-main {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	text-shadow: 0 1px 2px rgba(0, 0, 0, .1);
	font-size: 2.5rem
}

#document-grid .action-button,
#trash-grid-container .action-button {
	position: absolute;
	top: 0;
	transform: scale(.8);
	opacity: 0;
	transition: all .2s ease-in-out;
	pointer-events: none;
	background-color: #fff;
	color: #4b5569;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding-top: 2px
}

#document-grid .group:hover .action-button,
#trash-grid-container .group:hover .action-button {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto
}

#trash-grid-container .group .action-buttons .action-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	flex-shrink: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background-color: #fff !important;
	color: #4b5569 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15) !important;
	border: 1px solid #e2e8f0 !important;
	cursor: pointer !important;
	transition: all .2s ease-in-out !important
}

#trash-grid-container .group .action-buttons .action-button:hover {
	transform: scale(1.1) !important;
	color: #fff !important
}

#document-grid .download-doc-btn {
	left: calc(50% + 0px)
}

#document-grid .delete-doc-btn {
	left: calc(50% + 35px)
}

#document-grid .download-doc-btn:hover {
	background-color: var(--colore-primario);
	color: #fff
}

#document-grid .delete-doc-btn:hover {
	background-color: #ef4444;
	color: #fff
}

#trash-grid-container .fa-check {
	color: #fff !important
}

#public-docs-viewer {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all .7s ease-in-out
}

#public-docs-viewer.open {
	max-height: 2000px;
	opacity: 1;
	margin-top: 2rem;
	padding-top: 2rem
}

#public-docs-viewer-grid .group {
	position: relative;
	padding: .75rem;
	text-align: center;
	border-radius: .5rem;
	background-color: transparent;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color .2s ease-in-out
}

#public-docs-viewer-grid .group:hover {
	background-color: #f0f9ff
}

#public-docs-viewer-grid .file-icon-main {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	text-shadow: 0 2px 3px rgba(0, 0, 0, .1);
	font-size: 2.5rem;
	color: #3b82f6
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px
}

::-webkit-scrollbar-track {
	background: #f0f0f0;
	border-radius: 10px
}

::-webkit-scrollbar-thumb {
	background: #bdbdbd;
	border-radius: 10px
}

::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8
}

input::placeholder {
	color: #a1a1aa;
	font-style: italic;
	font-size: .9em
}

.group .action-buttons {
	position: absolute;
	top: 4px;
	left: calc(50% + 20px);
	display: flex;
	gap: 6px;
	opacity: 0;
	transform: scale(.9);
	transition: all .2s ease-in-out;
	pointer-events: none;
	z-index: 10
}

.group:hover .action-buttons {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto
}

.group .action-buttons .btn-icon-action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #fff;
	color: #4b5563;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .15);
	border: 1px solid #e5e7eb;
	transition: all .2s ease-in-out;
	cursor: pointer
}

.group .action-buttons .btn-icon-action i {
	font-size: 14px;
	color: inherit
}

.group .action-buttons .btn-icon-action:hover {
	color: #fff !important;
	transform: scale(1.1)
}

.group .action-buttons .btn-icon-action:hover i {
	color: #fff !important
}

.group .action-buttons .download-btn:hover {
	background-color: var(--colore-primario)
}

.group .action-buttons .edit-btn:hover {
	background-color: #3b82f6
}

.group .action-buttons .delete-btn:hover {
	background-color: #ef4444
}

#admin-section .btn.btn-primary,
#admin-section .btn.btn-secondary {
	color: #fff !important
}

#admin-section .btn.btn-primary i,
#admin-section .btn.btn-secondary i {
	color: #fff !important
}

#admin-section .btn.btn-primary {
	background-color: var(--colore-primario) !important
}

#public-docs-viewer-grid .action-buttons {
	left: calc(50% + 25px)
}

#activity-coaches-inline-detail-view .coach-card-item .coach-description {
	margin-top: auto
}

#activity-coaches-inline-detail-view .coach-card-item .coach-photo-wrapper {
	width: 100%;
	height: 12rem;
	position: relative;
	background-color: #e2e8f0;
	overflow: hidden
}

#activity-coaches-inline-detail-view .coach-card-item .coach-photo-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%
}

.other-news-card .other-news-title {
	font-size: 1.15rem;
	line-height: 1.3
}

.other-news-card .other-news-date {
	font-size: .8rem;
	color: #6b7280;
	margin-bottom: .75rem
}

.other-news-card .other-news-summary {
	font-size: .9rem;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-clamp: 4;
	-webkit-line-clamp: 4;
	max-height: 6.4em
}

.archive-list-container {
	border-top: 1px solid #e5e7eb
}

.archive-item {
	position: relative;
	background-color: #fff;
	border-radius: .75rem;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out;
	cursor: pointer
}

.archive-item:hover {
	background-color: #f9fafb
}

.archive-item-content {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start
}

.archive-item-text {
	flex: 1
}

.archive-item-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--colore-secondario);
	line-height: 1.3;
	margin-bottom: .5rem;
	transition: color .2s ease-in-out
}

.group:hover .archive-item-title {
	color: var(--colore-primario)
}

.archive-item-meta {
	font-size: .8rem;
	color: #6b7280;
	margin-bottom: .75rem;
	display: flex;
	align-items: center
}

.archive-item-summary {
	font-size: .95rem;
	color: #4b5563;
	line-height: 1.6
}

.archive-item-image {
	width: 120px;
	height: 80px;
	border-radius: .375rem;
	overflow: hidden;
	flex-shrink: 0;
	background-color: #e5e7eb
}

@media (max-width:640px) {
	.archive-item-content {
		flex-direction: column-reverse;
		align-items: stretch
	}

	.archive-item-image {
		width: 100%;
		height: 150px;
		margin-bottom: 1rem
	}

	.archive-item-title {
		font-size: 1.1rem
	}

	.archive-item-summary {
		font-size: .9rem
	}
}

.other-news-card:hover {
	border-color: var(--colore-primario)
}

.other-news-card {
	position: relative;
	cursor: pointer
}

#news-archive-section.open {
	margin-top: 3rem
}

.archive-item {
	position: relative;
	background-color: #fff;
	border-radius: .75rem;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
	transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out
}

.archive-item:hover {
	background-color: #f9fafb;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)
}

.archive-item-content {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	padding: 1rem
}

.archive-item-text {
	flex: 1
}

.archive-item-summary {
	padding: 0 10px
}

.archive-item-image {
	width: 120px;
	height: 80px;
	border-radius: .375rem;
	overflow: hidden;
	flex-shrink: 0;
	background-color: #e5e7eb
}

@media (max-width:640px) {
	.archive-item-content {
		flex-direction: column-reverse;
		align-items: stretch;
		padding: .75rem
	}

	.archive-item-image {
		width: 100%;
		height: 150px;
		margin-bottom: 1rem
	}

	.archive-item-text {
		padding: 0 .5rem
	}

	.archive-item-summary {
		padding: 0
	}
}

#coach-tip-bg-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--colore-secondario);
	opacity: .25;
	z-index: 1
}

#coach-tip-section .container {
	position: relative;
	z-index: 10
}

@media (min-width:768px) {
	#coach-tip-bg-image {
		background-attachment: fixed;
		background-position: center;
		background-size: cover
	}

	.coach-tip-dynamic-img {
		display: none !important
	}
}

@media (max-width:767px) {
	#coach-tip-bg-image {
		background-image: none !important;
		background-attachment: scroll;
		position: absolute;
		inset: 0;
		overflow: hidden
	}

	.coach-tip-dynamic-img {
		display: block;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: 0;
		transform: scale(1.25);
		object-position: center 75%;
		transition: transform 4.5s cubic-bezier(.25, 1, .5, 1), object-position 5s cubic-bezier(.25, 1, .5, 1)
	}

	#coach-tip-section.is-visible .coach-tip-dynamic-img {
		transform: scale(1);
		object-position: center 20%
	}
}

.ticker-date {
	font-weight: 800;
	letter-spacing: .04em;
	opacity: .9
}

.ticker-separator {
	margin: 0 .1em;
	opacity: .8
}

.ticker-title {
	font-weight: 500
}

.hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
	z-index: 0
}

#hero-image-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, .4);
	z-index: 10
}

/* Scurisci direttamente l'immagine invece di usare overlay */
.hero-slide-image {
    filter: brightness(0.7); /* Scurisce del 30%, come l'overlay nero 40% */
    opacity: 0 !important;
}

.hero-slide-image[src]:not([src=""]):not([src*="data:image"]) {
    opacity: 1 !important;
    transition: opacity 0.3s ease-in-out;
}


#page-news-ticker-section {
	position: absolute;
	top: 5px;
	left: 0;
	right: 0;
	z-index: 15;
	height: 35.1875px
}

.ticker-overlay-link {
	position: absolute;
	inset: 0;
	z-index: 20;
	border-radius: .25rem;
	transition: background-color .2s ease-in-out
}

.ticker-overlay-link:hover {
	background-color: rgba(0, 0, 0, .15)
}

.custom-hero-content-container {
	position: relative;
	z-index: 12
}

header.bg-primary {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 1000 !important;
	transition: transform .3s ease-in-out !important;
	transform: translateY(0) !important
}

header.bg-primary.header-hidden {
	transform: translateY(-100%) !important
}

header.header-hidden {
	transform: translateY(-100%) !important;
	transition: transform .3s ease-in-out !important
}

body {
	padding-top: var(--header-height, 80px)
}

@media (max-width:768px) {
	body {
		padding-top: var(--header-height-mobile, 70px)
	}
}

#coach-tip-section {
	height: 245px
}

@media (max-width:767px) {
	.animate-on-scroll {
		opacity: 0;
		transform: translateY(30px);
		transition: opacity .8s ease-out, transform 1s ease-out
	}

	.animate-on-scroll.is-visible {
		opacity: 1;
		transform: translateY(0)
	}
}

@media (min-width:768px) {
	#coach-tip-bg-image {
		background-attachment: fixed;
		background-position: center;
		background-size: cover
	}

	.coach-tip-dynamic-img {
		display: none
	}
}

@media (max-width:767px) {
	#coach-tip-bg-image {
		background-image: none !important
	}

	.coach-tip-dynamic-img {
		display: block;
		object-fit: cover;
		object-position: center 25%
	}
}

:root {
	--media-card-width: 60vw;
	--media-card-height: auto;
	--carousel-gap: 0em
}

.media-carousel-wrapper {
	position: relative;
	padding: 0
}

.media-cards-flex-wrapper {
	display: flex;
	align-items: center;
	gap: var(--carousel-gap);
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	padding: 2rem calc(50% - var(--media-card-width)/ 2 - var(--carousel-gap)/ 2);
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
	-webkit-user-select: none;
	user-select: none
}

.media-cards-flex-wrapper::-webkit-scrollbar {
	display: none
}

.media-card-gemini {
	flex: 0 0 var(--media-card-width);
	width: var(--media-card-width);
	height: var(--media-card-height);
	scroll-snap-align: center;
	position: relative;
	opacity: .7;
	transform: scale(.7);
	transition: transform .4s cubic-bezier(.25, .1, .25, 1), opacity .4s ease-in-out;
	will-change: transform, opacity;
	cursor: pointer
}

.media-card-gemini.is-active {
	opacity: 1;
	transform: scale(1);
	z-index: 10;
	cursor: default
}

.media-card-gemini:hover:not(.is-active) {
	opacity: .85
}

.media-card-gemini.is-active:hover {
	transform: scale(1.05)
}

.media-card-thumbnail-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background-color: #e0e0e0;
	border-radius: 1.25rem;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
	cursor: pointer
}

.media-card-thumbnail-wrapper img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease-in-out
}

.media-card-gemini:hover .media-card-thumbnail-wrapper img {
	transform: scale(1.2)
}

.media-card-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, .3);
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .3s ease-in-out;
	border-radius: 1.25rem
}

.media-card-gemini.is-active:hover .media-card-overlay {
	opacity: 1
}

.media-card-overlay i {
	font-size: 6rem;
	color: rgba(255, 255, 255, .95);
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5));
	transition: transform .3s ease-in-out
}

.media-card-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1rem 1.25rem;
	color: #fff;
	z-index: 5;
	background: linear-gradient(to top, rgba(0, 0, 0, .9) 0, rgba(0, 0, 0, .7) 40%, transparent 100%);
	pointer-events: none;
	border-radius: 0 0 1.25rem 1.25rem
}

.media-card-content h4 {
	font-size: 20px;
	font-weight: 700;
	margin: 0;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, .8)
}

.media-card-content span {
	display: none
}

.media-carousel-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	margin-top: 2rem;
	padding: 0 1rem
}

.media-carousel-btn {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .8);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	border: 1px solid rgba(0, 0, 0, .08);
	box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
	color: var(--colore-secondario);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .2s ease-in-out
}

.media-carousel-btn:hover {
	background-color: #fff;
	transform: scale(1.1)
}

.media-carousel-btn:disabled {
	opacity: .4;
	cursor: not-allowed;
	transform: scale(1)
}

#media-filters-container-bottom {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .5rem
}

@media (min-width:769px) {
	:root {
		--media-card-width: 60vw
	}

	.media-card-content {
		padding: 1.5rem 1.75rem
	}

	.media-card-content h4 {
		font-size: 1.5rem
	}
}

@media (min-width:1025px) {
	:root {
		--media-card-width: 50vw
	}
}

#media-player-modal .modal-content {
	background-color: #000;
	padding: 0;
	border-radius: 1rem;
	overflow: hidden;
	max-width: 90vw;
	width: 1280px
}

#media-player-modal .close-modal-btn {
	color: #fff;
	background-color: rgba(0, 0, 0, .5);
	border-radius: 50%;
	width: 36px;
	height: 36px;
	font-size: 28px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
	transition: all .2s ease-in-out;
	position: absolute;
	top: 12px;
	right: 20px
}

#media-player-modal .close-modal-btn:hover {
	background-color: rgba(0, 0, 0, .8);
	transform: scale(1.1)
}

.section-manager-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .75rem 1.25rem;
	width: 100%;
	text-align: left;
	margin-bottom: .75rem
}

.section-manager-item .section-link-area {
	flex-grow: 1;
	display: flex;
	align-items: center;
	background: 0 0;
	border: none;
	padding: 0;
	margin: 0;
	color: inherit;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600
}

.section-manager-item .section-link-area:disabled {
	cursor: default;
	opacity: .7
}

.section-manager-item .section-link-area i {
	color: inherit;
	opacity: .8
}

.section-manager-item .section-link-area,
.section-manager-item .section-link-area i,
.section-manager-item .section-link-area span {
	color: #fff !important;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .1)
}

.section-manager-item:hover {
	background-color: var(--colore-secondario-dark)
}

.section-hidden-by-admin {
	display: none !important
}

#activities>.container {
	max-width: 100%;
	padding-left: 4%;
	padding-right: 4%
}

#activities-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	align-items: stretch
}

#activities-container .activity-card {
	flex-shrink: 0;
	width: 260px;
	padding: 1.5rem
}

#activity-coaches-inline-detail-view .coach-description {
	margin-top: auto;
	border-top: 1px solid #e5e7eb;
	padding-top: .75rem;
	margin-top: .75rem
}

#activity-coaches-inline-detail-view .coach-photo-wrapper {
	width: 100%;
	height: 12rem;
	position: relative;
	background-color: #e2e8f0;
	overflow: hidden
}

#activity-coaches-inline-detail-view .coach-photo-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%
}

#admin-section .btn-primary i,
#admin-section .btn-primary span,
#admin-section .btn-secondary i,
#admin-section .btn-secondary span {
	color: #fff
}

#admin-section .modal-content * {
	color: #1f2937
}

#admin-section .modal-content .btn-primary,
#admin-section .modal-content .btn-primary i,
#admin-section .modal-content .btn-secondary,
#admin-section .modal-content .btn-secondary i {
	color: #fff !important
}

#admin-section .modal-content h3,
#admin-section .modal-content label {
	color: #374151
}

#admin-header-controls h2 {
	font-size: 1.75rem !important;
	margin-bottom: 1rem !important
}

@media (max-width:767.98px) {
	body {
		padding-bottom: 60px
	}
}

#mobile-menu {
	position: relative;
	z-index: 1000
}

#mobile-menu-button {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s ease
}

#mobile-menu-button:hover {
	background-color: rgba(255, 255, 255, .1);
	border-radius: 4px
}

#mobile-menu nav a {
	display: block;
	padding: 12px 16px;
	border-radius: 6px;
	margin: 2px 8px;
	transition: all .2s ease
}

#mobile-menu nav a:hover {
	background-color: rgba(255, 255, 255, .1);
	transform: translateX(4px)
}

@media (min-width:768px) {
	#mobile-menu {
		display: none !important
	}

	#mobile-menu-button {
		display: none !important
	}
}

body.mode-public #public-wrapper {
	display: block
}

body.mode-public #admin-section {
	display: block
}

body.mode-admin-only #public-wrapper,
body.mode-admin-only .sticky-parent-container,
body.mode-admin-only footer {
	display: none !important
}

body.mode-admin-only {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	background-color: var(--colore-secondario)
}

body.mode-admin-only #admin-section {
	display: block
}

body.mode-admin-only #admin-close-btn {
	display: none !important
}

body.mode-admin-only #cookie-manager-container,
body.mode-admin-only .cookie-smart-area,
body.mode-admin-only .cookie-smart-button {
	display: none !important
}

#logos-section #institutional-logos img {
	max-height: 96px;
	object-fit: contain;
	transition: opacity .3s ease-in-out
}

#logos-section #institutional-logos img:hover {
	opacity: 1
}

@keyframes pulse-light {

	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(59, 130, 246, .4)
	}

	50% {
		box-shadow: 0 0 0 6px rgba(59, 130, 246, 0)
	}
}

.archive-pagination-btn.btn-disabled,
.archive-pagination-btn:disabled {
	opacity: .5;
	cursor: not-allowed;
	background-color: #e5e7eb;
	border-color: #d1d5db
}

#admin-section .md\:col-span-1.bg-primaryDark {
	background-color: var(--colore-primario-dark) !important
}

#admin-section [class*="md:col-span-1"][class*=bg-primaryDark],
.admin-section [class*="md:col-span-1"][class*=bg-primaryDark] {
	background-color: var(--colore-primario-dark) !important
}

.logo-fade-in {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .6s ease-out, transform .6s ease-out
}

.logo-fade-in.visible {
	opacity: 1;
	transform: translateY(0)
}

#institutional-logos .logo-fade-in {
	transition: opacity .8s ease-out, transform .8s ease-out
}

header nav a {
	transition: color .2s ease-in-out
}

header nav a:hover {
	color: var(--colore-secondario-dark, #047857) !important
}

.modal-content .btn-primary {
	background-color: var(--colore-primario) !important;
	color: #fff !important
}

.modal-content .btn-primary:hover {
	background-color: var(--colore-primario-dark) !important
}

.news-content-expandable {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .5s ease-in-out, opacity .3s ease-in-out, margin-top .5s ease-in-out;
	margin-top: 0;
	visibility: hidden
}

.other-news-card.is-expanded>.p-5>.news-content-expandable {
	max-height: 10000px;
	opacity: 1;
	margin-top: 1.25rem;
	visibility: visible
}

.other-news-card.is-expanded .expand-news-trigger .text-to-change {
	display: none
}

.other-news-card.is-expanded .expand-news-trigger .text-on-close {
	display: inline
}

.other-news-card .expand-news-trigger .text-on-close {
	display: none
}

.other-news-card.is-expanded .expand-news-trigger .icon-to-change {
	transform: rotate(180deg)
}

.other-news-card .expand-news-trigger .icon-to-change {
	transition: transform .3s ease
}

@keyframes pulse-glow {

	0%,
	100% {
		filter: drop-shadow(0 0 3px var(--colore-primario))
	}

	50% {
		filter: drop-shadow(0 0 8px var(--colore-primario))
	}
}

.event-star-link .fa-star {
	transition: transform .2s ease-in-out
}

.event-star-link:hover .fa-star {
	transform: scale(1.3);
	animation: pulse-glow 1.5s infinite ease-in-out
}

.featured-content-expandable {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height .6s ease-in-out, opacity .4s ease-in-out, padding .6s ease-in-out, margin-top .6s ease-in-out;
	padding: 0 1.5rem;
	margin-top: 0;
	visibility: hidden
}

.featured-news-item.is-expanded+.featured-content-expandable {
	max-height: 10000px;
	opacity: 1;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	margin-top: -2.5rem;
	visibility: visible
}

.featured-news-item.is-expanded .expand-featured-trigger .text-to-change {
	display: none
}

.featured-news-item.is-expanded .expand-featured-trigger .text-on-close {
	display: inline
}

.featured-news-item .expand-featured-trigger .text-on-close {
	display: none
}

.featured-news-item.is-expanded .expand-featured-trigger .icon-to-change {
	transform: rotate(180deg)
}

.featured-news-item-image-wrapper .lazy-news-img {
	object-position: center 25% !important
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0
}

.featured-news-item .btn-primary,
.featured-news-item .btn-primary *,
.featured-news-item .btn-primary i,
.featured-news-item .btn-primary span {
	color: #fff !important
}

.featured-news-item .btn-primary:hover,
.featured-news-item .btn-primary:hover *,
.featured-news-item .btn-primary:hover i,
.featured-news-item .btn-primary:hover span {
	color: #fff !important
}

@media (max-width:768px) {
	#public-docs-grid .group {
		aspect-ratio: 2/1 !important;
		max-width: 280px !important;
		width: 100% !important;
		overflow: hidden !important
	}

	#public-docs-grid {
		justify-items: center !important
	}
}

@media (max-width:480px) {
	#public-docs-grid .group {
		max-width: 500x !important
	}
}

@media (max-width:768px) {
	.modal-content {
		margin: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		max-height: 100vh !important;
		border-radius: 0 !important;
		padding: 20px 16px 100px 16px !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0
	}

	.modal-content input,
	.modal-content select {
		font-size: 16px !important
	}

	.modal-content * {
		touch-action: manipulation
	}

	.close-modal-btn {
		position: fixed !important;
		top: 10px !important;
		right: 10px !important;
		z-index: 1001;
		background: rgba(255, 255, 255, .9);
		border-radius: 50%;
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center
	}
}

@supports (-webkit-touch-callout:none) {
	@media (max-width:768px) {
		.modal-content {
			transform: none !important
		}
	}
}

@media (max-width:768px) {
	body.modal-open {
		position: fixed !important;
		width: 100% !important;
		height: 100% !important;
		overflow: hidden !important
	}
}

.lazy-coach-img,
.lazy-news-img {
	opacity: 0 !important;
	transition: opacity .5s ease-in-out !important
}

.lazy-coach-img.is-loaded,
.lazy-news-img.is-loaded {
	opacity: 1 !important
}

#coach-tip-bg-image {
	opacity: 0;
	transition: opacity .6s ease-in-out
}

#coach-tip-bg-image.is-loaded {
	opacity: 1 !important
}

.coach-tip-dynamic-img {
	opacity: 0;
	transition: opacity .6s ease-in-out
}

.coach-tip-dynamic-img.is-loaded {
	opacity: 1 !important
}

.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(135deg, #1e3a8a 0, #1e40af 100%);
	color: #fff;
	padding: 1.5rem;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, .15);
	z-index: 9999;
	transform: translateY(100%);
	transition: transform .3s ease-in-out;
	border-top: 3px solid #ff7f2a
}

.cookie-banner.show {
	transform: translateY(0)
}

.cookie-banner-content {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem
}

.cookie-banner-text h3 {
	margin: 0 0 .5rem 0;
	font-size: 1.25rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: .5rem
}

.cookie-banner-text p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.5;
	opacity: .95
}

@media (max-width:768px) {
	.cookie-banner-content {
		flex-direction: column;
		text-align: center;
		gap: 1.5rem
	}
}

.cookie-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem
}

.cookie-modal.hidden {
	display: none
}

.cookie-modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .6);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px)
}

.cookie-modal-content {
	position: relative;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .15);
	width: 100%;
	max-width: 600px;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column
}

.cookie-modal-header {
	padding: 2rem 2rem 1rem 2rem;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f8fafc
}

.cookie-modal-header h2 {
	margin: 0;
	color: #1e3a8a;
	font-size: 1.5rem;
	font-weight: 700
}

.modal-close {
	background: 0 0;
	border: none;
	font-size: 2rem;
	color: #6b7280;
	cursor: pointer;
	padding: 0;
	line-height: 1;
	transition: color .2s ease
}

[data-media-modal=true] {
	width: auto !important;
	height: auto !important;
	max-width: 90vw !important;
	max-height: 80vh !important;
	padding: 1rem !important
}

[data-media-modal=true] .modal-content,
[data-media-modal=true]>div {
	width: auto !important;
	height: auto !important;
	max-width: 90vw !important;
	max-height: 80vh !important
}

@media (max-width:768px) {
	[data-media-modal=true] {
		max-width: 95vw !important;
		max-height: 70vh !important
	}
}

.modal-close:hover {
	color: #374151
}

.cookie-modal-body {
	padding: 2rem;
	overflow-y: auto;
	flex: 1
}

.cookie-modal-body p {
	color: #4b5563;
	line-height: 1.6;
	margin-bottom: 1.5rem
}

.cookie-categories {
	margin-bottom: 2rem
}

.cookie-category {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	margin-bottom: 1rem;
	overflow: hidden
}

.cookie-category-header {
	padding: 1.5rem;
	background: #f9fafb
}

.cookie-category-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: .5rem
}

.cookie-category-title h4 {
	margin: 0;
	color: #1f2937;
	font-size: 1.1rem;
	font-weight: 600
}

.cookie-category-description {
	margin: 0;
	color: #6b7280;
	font-size: .9rem;
	line-height: 1.5
}

.cookie-info {
	background: #f8fafc;
	padding: 1.5rem;
	border-radius: 8px;
	border-left: 4px solid #ff7f2a
}

.cookie-info h4 {
	margin: 0 0 1rem 0;
	color: #1e3a8a;
	font-size: 1.1rem;
	font-weight: 600
}

.cookie-info p {
	margin-bottom: 1rem;
	color: #4b5563
}

.cookie-info ul {
	margin: 0;
	padding-left: 1.5rem;
	color: #4b5563
}

.cookie-info li {
	margin-bottom: .5rem
}

.cookie-modal-footer {
	padding: 1.5rem 2rem;
	border-top: 1px solid #e5e7eb;
	background: #f8fafc;
	display: flex;
	gap: 1rem;
	justify-content: flex-end
}

.cookie-modal-footer .btn {
	padding: .75rem 1.5rem;
	border-radius: 6px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: all .2s ease
}

.cookie-modal-footer .btn-primary {
	background: #ff7f2a;
	color: #fff
}

.cookie-modal-footer .btn-primary:hover {
	background: #e6691e
}

.cookie-modal-footer .btn-secondary {
	background: #e5e7eb;
	color: #374151
}

.cookie-modal-footer .btn-secondary:hover {
	background: #d1d5db
}

@media (max-width:768px) {
	.cookie-modal-content {
		margin: 1rem;
		max-height: calc(100vh - 2rem)
	}

	.cookie-modal-header {
		padding: 1.5rem 1.5rem 1rem 1.5rem
	}

	.cookie-modal-body {
		padding: 1.5rem
	}

	.cookie-modal-footer {
		padding: 1rem 1.5rem;
		flex-direction: column
	}

	.cookie-category-title {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem
	}
}

.cookie-policy-link {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: #1e3a8a;
	color: #fff;
	padding: .75rem 1rem;
	border-radius: 25px;
	text-decoration: none;
	font-size: .9rem;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
	transition: all .3s ease;
	z-index: 9998
}

.cookie-policy-link:hover {
	background: #1e40af;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
	color: #fff;
	text-decoration: none
}

@keyframes slideInUp {
	from {
		transform: translateY(100%);
		opacity: 0
	}

	to {
		transform: translateY(0);
		opacity: 1
	}
}

@keyframes fadeIn {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

.cookie-banner.show {
	animation: slideInUp .3s ease-out
}

.cookie-modal:not(.hidden) {
	animation: fadeIn .2s ease-out
}

.cookie-smart-button {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: #1e3a8a;
	color: #fff;
	border-radius: 50%;
	text-decoration: none;
	font-size: 1.1rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
	z-index: 9998;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s cubic-bezier(.4, 0, .2, 1);
	transform: translateX(100px);
	opacity: 0;
	pointer-events: none
}

.cookie-smart-button .cookie-text {
	opacity: 0;
	margin-left: 8px;
	white-space: nowrap;
	font-size: .9rem;
	font-weight: 600;
	transition: opacity .3s ease
}

.cookie-smart-button.visible {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto
}

.cookie-smart-button.expanded {
	width: auto;
	padding: .7rem 1rem;
	border-radius: 25px
}

.cookie-smart-button.expanded .cookie-text {
	opacity: 1
}

.cookie-smart-button:hover {
	background: #1e40af;
	transform: translateX(0) translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2)
}

@keyframes pulse-cookie {

	0%,
	100% {
		transform: translateX(0) scale(1)
	}

	50% {
		transform: translateX(0) scale(1.05)
	}
}

@media (max-width:768px) {
	.cookie-smart-area {
		width: 60px;
		height: 60px
	}

	.cookie-smart-button {
		bottom: 15px;
		right: 15px;
		width: 40px;
		height: 40px;
		font-size: 1rem
	}
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 400;
	src: url(../webfonts/inter-v19-latin-regular.woff2) format("woff2")
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 500;
	src: url(../webfonts/inter-v19-latin-500.woff2) format("woff2")
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 600;
	src: url(../webfonts/inter-v19-latin-600.woff2) format("woff2")
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 700;
	src: url(../webfonts/inter-v19-latin-700.woff2) format("woff2")
}

@font-face {
	font-display: swap;
	font-family: Inter;
	font-style: normal;
	font-weight: 800;
	src: url(../webfonts/inter-v19-latin-800.woff2) format("woff2")
}

/*!
 * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
.fa {
	font-family: var(--fa-style-family, "Font Awesome 6 Free");
	font-weight: var(--fa-style, 900)
}

.fa,
.fa-brands,
.fa-regular,
.fa-solid,
.fab,
.fas {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: var(--fa-display, inline-block);
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto
}

.fa-regular,
.fa-solid,
.fas {
	font-family: "Font Awesome 6 Free"
}

.fa-brands,
.fab {
	font-family: "Font Awesome 6 Brands"
}

.fa-1x {
	font-size: 1em
}

.fa-2x {
	font-size: 2em
}

.fa-3x {
	font-size: 3em
}

.fa-4x {
	font-size: 4em
}

.fa-5x {
	font-size: 5em
}

.fa-6x {
	font-size: 6em
}

.fa-7x {
	font-size: 7em
}

.fa-8x {
	font-size: 8em
}

.fa-9x {
	font-size: 9em
}

.fa-10x {
	font-size: 10em
}

.fa-2xs {
	font-size: .625em;
	line-height: .1em;
	vertical-align: .225em
}

.fa-xs {
	font-size: .75em;
	line-height: .08333em;
	vertical-align: .125em
}

.fa-sm {
	font-size: .875em;
	line-height: .07143em;
	vertical-align: .05357em
}

.fa-lg {
	font-size: 1.25em;
	line-height: .05em;
	vertical-align: -.075em
}

.fa-xl {
	font-size: 1.5em;
	line-height: .04167em;
	vertical-align: -.125em
}

.fa-2xl {
	font-size: 2em;
	line-height: .03125em;
	vertical-align: -.1875em
}

.fa-ul {
	list-style-type: none;
	margin-left: var(--fa-li-margin, 2.5em);
	padding-left: 0
}

.fa-ul>li {
	position: relative
}

.fa-li {
	left: calc(var(--fa-li-width, 2em) * -1);
	position: absolute;
	text-align: center;
	width: var(--fa-li-width, 2em);
	line-height: inherit
}

.fa-border {
	border-radius: var(--fa-border-radius, .1em);
	border: var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);
	padding: var(--fa-border-padding, .2em .25em .15em)
}

.fa-fade {
	-webkit-animation-name: fa-fade;
	animation-name: fa-fade;
	-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1));
	animation-timing-function: var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))
}

.fa-fade {
	-webkit-animation-delay: var(--fa-animation-delay, 0s);
	animation-delay: var(--fa-animation-delay, 0s);
	-webkit-animation-direction: var(--fa-animation-direction, normal);
	animation-direction: var(--fa-animation-direction, normal);
	-webkit-animation-duration: var(--fa-animation-duration, 1s);
	animation-duration: var(--fa-animation-duration, 1s)
}

.fa-spin {
	-webkit-animation-delay: var(--fa-animation-delay, 0s);
	animation-delay: var(--fa-animation-delay, 0s);
	-webkit-animation-direction: var(--fa-animation-direction, normal);
	animation-direction: var(--fa-animation-direction, normal)
}

.fa-spin {
	-webkit-animation-name: fa-spin;
	animation-name: fa-spin;
	-webkit-animation-duration: var(--fa-animation-duration, 2s);
	animation-duration: var(--fa-animation-duration, 2s);
	-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	-webkit-animation-timing-function: var(--fa-animation-timing, linear);
	animation-timing-function: var(--fa-animation-timing, linear)
}

@media (prefers-reduced-motion:reduce) {

	.fa-fade,
	.fa-spin {
		-webkit-animation-delay: -1ms;
		animation-delay: -1ms;
		-webkit-animation-duration: 1ms;
		animation-duration: 1ms;
		-webkit-animation-iteration-count: 1;
		animation-iteration-count: 1;
		-webkit-transition-delay: 0s;
		transition-delay: 0s;
		-webkit-transition-duration: 0s;
		transition-duration: 0s
	}
}

@-webkit-keyframes fa-beat {

	0%,
	90% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	45% {
		-webkit-transform: scale(var(--fa-beat-scale, 1.25));
		transform: scale(var(--fa-beat-scale, 1.25))
	}
}

@keyframes fa-beat {

	0%,
	90% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	45% {
		-webkit-transform: scale(var(--fa-beat-scale, 1.25));
		transform: scale(var(--fa-beat-scale, 1.25))
	}
}

@-webkit-keyframes fa-bounce {
	0% {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}

	10% {
		-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, .9)) translateY(0);
		transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, .9)) translateY(0)
	}

	30% {
		-webkit-transform: scale(var(--fa-bounce-jump-scale-x, .9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));
		transform: scale(var(--fa-bounce-jump-scale-x, .9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))
	}

	50% {
		-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, .95)) translateY(0);
		transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, .95)) translateY(0)
	}

	57% {
		-webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -.125em));
		transform: scale(1) translateY(var(--fa-bounce-rebound, -.125em))
	}

	64% {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}

	to {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}
}

@keyframes fa-bounce {
	0% {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}

	10% {
		-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, .9)) translateY(0);
		transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, .9)) translateY(0)
	}

	30% {
		-webkit-transform: scale(var(--fa-bounce-jump-scale-x, .9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));
		transform: scale(var(--fa-bounce-jump-scale-x, .9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))
	}

	50% {
		-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, .95)) translateY(0);
		transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, .95)) translateY(0)
	}

	57% {
		-webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -.125em));
		transform: scale(1) translateY(var(--fa-bounce-rebound, -.125em))
	}

	64% {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}

	to {
		-webkit-transform: scale(1) translateY(0);
		transform: scale(1) translateY(0)
	}
}

@-webkit-keyframes fa-fade {
	50% {
		opacity: var(--fa-fade-opacity, .4)
	}
}

@keyframes fa-fade {
	50% {
		opacity: var(--fa-fade-opacity, .4)
	}
}

@-webkit-keyframes fa-beat-fade {

	0%,
	to {
		opacity: var(--fa-beat-fade-opacity, .4);
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	50% {
		opacity: 1;
		-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
		transform: scale(var(--fa-beat-fade-scale, 1.125))
	}
}

@keyframes fa-beat-fade {

	0%,
	to {
		opacity: var(--fa-beat-fade-opacity, .4);
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	50% {
		opacity: 1;
		-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
		transform: scale(var(--fa-beat-fade-scale, 1.125))
	}
}

@-webkit-keyframes fa-flip {
	50% {
		-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
		transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))
	}
}

@keyframes fa-flip {
	50% {
		-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
		transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))
	}
}

@-webkit-keyframes fa-shake {
	0% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg)
	}

	4% {
		-webkit-transform: rotate(15deg);
		transform: rotate(15deg)
	}

	24%,
	8% {
		-webkit-transform: rotate(-18deg);
		transform: rotate(-18deg)
	}

	12%,
	28% {
		-webkit-transform: rotate(18deg);
		transform: rotate(18deg)
	}

	16% {
		-webkit-transform: rotate(-22deg);
		transform: rotate(-22deg)
	}

	20% {
		-webkit-transform: rotate(22deg);
		transform: rotate(22deg)
	}

	32% {
		-webkit-transform: rotate(-12deg);
		transform: rotate(-12deg)
	}

	36% {
		-webkit-transform: rotate(12deg);
		transform: rotate(12deg)
	}

	40%,
	to {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
}

@keyframes fa-shake {
	0% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg)
	}

	4% {
		-webkit-transform: rotate(15deg);
		transform: rotate(15deg)
	}

	24%,
	8% {
		-webkit-transform: rotate(-18deg);
		transform: rotate(-18deg)
	}

	12%,
	28% {
		-webkit-transform: rotate(18deg);
		transform: rotate(18deg)
	}

	16% {
		-webkit-transform: rotate(-22deg);
		transform: rotate(-22deg)
	}

	20% {
		-webkit-transform: rotate(22deg);
		transform: rotate(22deg)
	}

	32% {
		-webkit-transform: rotate(-12deg);
		transform: rotate(-12deg)
	}

	36% {
		-webkit-transform: rotate(12deg);
		transform: rotate(12deg)
	}

	40%,
	to {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}
}

@-webkit-keyframes fa-spin {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn)
	}
}

@keyframes fa-spin {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0)
	}

	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn)
	}
}

.fa-rotate-90 {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg)
}

.fa-rotate-180 {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg)
}

.fa-rotate-270 {
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg)
}

.fa-rotate-by {
	-webkit-transform: rotate(var(--fa-rotate-angle, none));
	transform: rotate(var(--fa-rotate-angle, none))
}

.fa-0:before {
	content: "\30"
}

.fa-1:before {
	content: "\31"
}

.fa-2:before {
	content: "\32"
}

.fa-3:before {
	content: "\33"
}

.fa-4:before {
	content: "\34"
}

.fa-5:before {
	content: "\35"
}

.fa-6:before {
	content: "\36"
}

.fa-7:before {
	content: "\37"
}

.fa-8:before {
	content: "\38"
}

.fa-9:before {
	content: "\39"
}

.fa-chevron-circle-right:before,
.fa-circle-chevron-right:before {
	content: "\f138"
}

.fa-trash-alt:before {
	content: "\f2ed"
}

.fa-text-height:before {
	content: "\f034"
}

.fa-user-times:before {
	content: "\f235"
}

.fa-info:before {
	content: "\f129"
}

.fa-down-left-and-up-right-to-center:before {
	content: "\f422"
}

.fa-file-alt:before,
.fa-file-lines:before,
.fa-file-text:before {
	content: "\f15c"
}

.fa-ring:before {
	content: "\f70b"
}

.fa-building-un:before {
	content: "\e4d9"
}

.fa-calendar-alt:before,
.fa-calendar-days:before {
	content: "\f073"
}

.fa-anchor-circle-check:before {
	content: "\e4aa"
}

.fa-sort-desc:before,
.fa-sort-down:before {
	content: "\f0dd"
}

.fa-search-location:before {
	content: "\f689"
}

.fa-file-csv:before {
	content: "\f6dd"
}

.fa-file-circle-exclamation:before {
	content: "\e4eb"
}

.fa-circle-h:before {
	content: "\f47e"
}

.fa-address-book:before,
.fa-contact-book:before {
	content: "\f2b9"
}

.fa-file-clipboard:before {
	content: "\f0ea"
}

.fa-clipboard-list:before {
	content: "\f46d"
}

.fa-user-check:before {
	content: "\f4fc"
}

.fa-archive:before,
.fa-box-archive:before {
	content: "\f187"
}

.fa-sort-numeric-desc:before,
.fa-sort-numeric-down-alt:before {
	content: "\f886"
}

.fa-w:before {
	content: "\57"
}

.fa-tablet-alt:before,
.fa-tablet-screen-button:before {
	content: "\f3fa"
}

.fa-cloud:before {
	content: "\f0c2"
}

.fa-gavel:before,
.fa-legal:before {
	content: "\f0e3"
}

.fa-table:before {
	content: "\f0ce"
}

.fa-bars:before {
	content: "\f0c9"
}

.fa-square-up-right:before {
	content: "\f360"
}

.fa-circle-exclamation:before,
.fa-exclamation-circle:before {
	content: "\f06a"
}

.fa-chevron-circle-down:before,
.fa-circle-chevron-down:before {
	content: "\f13a"
}

.fa-sitemap:before {
	content: "\f0e8"
}

.fa-check-square:before,
.fa-square-check:before {
	content: "\f14a"
}

.fa-header:before {
	content: "\f1dc"
}

.fa-list:before {
	content: "\f03a"
}

.fa-lock:before {
	content: "\f023"
}

.fa-map-location:before {
	content: "\f59f"
}

.fa-edit:before {
	content: "\f044"
}

.fa-share-alt:before {
	content: "\f1e0"
}

.fa-hand-paper:before,
.fa-hand:before {
	content: "\f256"
}

.fa-chevron-up:before {
	content: "\f077"
}

.fa-i-cursor:before {
	content: "\f246"
}

.fa-i:before {
	content: "\49"
}

.fa-v:before {
	content: "\56"
}

.fa-g:before {
	content: "\47"
}

.fa-align-justify:before {
	content: "\f039"
}

.fa-e:before {
	content: "\45"
}

.fa-user:before {
	content: "\f007"
}

.fa-building-user:before {
	content: "\e4da"
}

.fa-key:before {
	content: "\f084"
}

.fa-globe:before {
	content: "\f0ac"
}

.fa-c:before {
	content: "\43"
}

.fa-tablet-button:before {
	content: "\f10a"
}

.fa-building-lock:before {
	content: "\e4d6"
}

.fa-area-chart:before,
.fa-chart-area:before {
	content: "\f1fe"
}

.fa-star:before {
	content: "\f005"
}

.fa-box:before {
	content: "\f466"
}

.fa-triangle-circle-square:before {
	content: "\f61f"
}

.fa-random:before {
	content: "\f074"
}

.fa-running:before {
	content: "\f70c"
}

.fa-server:before {
	content: "\f233"
}

.fa-weight-scale:before,
.fa-weight:before {
	content: "\f496"
}

.fa-user-group:before {
	content: "\f500"
}

.fa-l:before {
	content: "\4c"
}

.fa-clipboard:before {
	content: "\f328"
}

.fa-underline:before {
	content: "\f0cd"
}

.fa-user-edit:before {
	content: "\f4ff"
}

.fa-bold:before {
	content: "\f032"
}

.fa-anchor-lock:before {
	content: "\e4ad"
}

.fa-not-equal:before {
	content: "\f53e"
}

.fa-border-style:before,
.fa-border-top-left:before {
	content: "\f853"
}

.fa-building-circle-check:before {
	content: "\e4d2"
}

.fa-bar-chart:before,
.fa-chart-bar:before {
	content: "\f080"
}

.fa-plus-square:before,
.fa-square-plus:before {
	content: "\f0fe"
}

.fa-image:before {
	content: "\f03e"
}

.fa-rotate-left:before {
	content: "\f2ea"
}

.fa-handshake:before {
	content: "\f2b5"
}

.fa-circle-play:before,
.fa-play-circle:before {
	content: "\f144"
}

.fa-check-circle:before,
.fa-circle-check:before {
	content: "\f058"
}

.fa-marker:before {
	content: "\f5a1"
}

.fa-chevron-circle-up:before,
.fa-circle-chevron-up:before {
	content: "\f139"
}

.fa-box-open:before {
	content: "\f49e"
}

.fa-scroll:before {
	content: "\f70e"
}

.fa-pause:before {
	content: "\f04c"
}

.fa-address-card:before,
.fa-contact-card:before {
	content: "\f2bb"
}

.fa-balance-scale-right:before {
	content: "\f516"
}

.fa-left-right:before {
	content: "\f337"
}

.fa-remove-format:before {
	content: "\f87d"
}

.fa-file-word:before {
	content: "\f1c2"
}

.fa-file-powerpoint:before {
	content: "\f1c4"
}

.fa-cloud-download-alt:before,
.fa-cloud-download:before {
	content: "\f0ed"
}

.fa-children:before {
	content: "\e4e1"
}

.fa-envelope-open:before {
	content: "\f2b6"
}

.fa-sync:before {
	content: "\f021"
}

.fa-shield-alt:before {
	content: "\f3ed"
}

.fa-envelope-circle-check:before {
	content: "\e4e8"
}

.fa-file-archive:before {
	content: "\f1c6"
}

.fa-square:before {
	content: "\f0c8"
}

.fa-italic:before {
	content: "\f033"
}

.fa-z:before {
	content: "\5a"
}

.fa-a:before {
	content: "\41"
}

.fa-p:before {
	content: "\50"
}

.fa-newspaper:before {
	content: "\f1ea"
}

.fa-sort:before {
	content: "\f0dc"
}

.fa-list-1-2:before,
.fa-list-numeric:before,
.fa-list-ol:before {
	content: "\f0cb"
}

.fa-filter:before {
	content: "\f0b0"
}

.fa-up-down-left-right:before {
	content: "\f0b2"
}

.fa-building-circle-exclamation:before {
	content: "\e4d3"
}

.fa-f:before {
	content: "\46"
}

.fa-file-excel:before {
	content: "\f1c3"
}

.fa-file-contract:before {
	content: "\f56c"
}

.fa-map-marker:before {
	content: "\f041"
}

.fa-circle-right:before {
	content: "\f35a"
}

.fa-object-group:before {
	content: "\f247"
}

.fa-chart-line:before,
.fa-line-chart:before {
	content: "\f201"
}

.fa-h:before {
	content: "\48"
}

.fa-home-user:before {
	content: "\e1b0"
}

.fa-circle-pause:before,
.fa-pause-circle:before {
	content: "\f28b"
}

.fa-r:before {
	content: "\52"
}

.fa-lock-open:before {
	content: "\f3c1"
}

.fa-circle:before {
	content: "\f111"
}

.fa-circle-up:before {
	content: "\f35b"
}

.fa-mobile-alt:before,
.fa-mobile-screen-button:before {
	content: "\f3cd"
}

.fa-clipboard-check:before {
	content: "\f46c"
}

.fa-file-image:before {
	content: "\f1c5"
}

.fa-cat:before {
	content: "\f6be"
}

.fa-anchor-circle-exclamation:before {
	content: "\e4ab"
}

.fa-tasks-alt:before {
	content: "\f828"
}

.fa-mobile-button:before {
	content: "\f10b"
}

.fa-eye:before {
	content: "\f06e"
}

.fa-file-shield:before {
	content: "\e4f0"
}

.fa-home-lg:before {
	content: "\e3af"
}

.fa-balance-scale-left:before {
	content: "\f515"
}

.fa-sort-up:before {
	content: "\f0de"
}

.fa-hand-pointer:before {
	content: "\f25a"
}

.fa-location:before {
	content: "\f601"
}

.fa-calendar-times:before {
	content: "\f273"
}

.fa-user-cog:before {
	content: "\f4fe"
}

.fa-sort-numeric-up:before {
	content: "\f163"
}

.fa-text-width:before {
	content: "\f035"
}

.fa-trash:before {
	content: "\f1f8"
}

.fa-quote-right-alt:before,
.fa-quote-right:before {
	content: "\f10e"
}

.fa-align-left:before {
	content: "\f036"
}

.fa-dice-d6:before {
	content: "\f6d1"
}

.fa-j:before {
	content: "\4a"
}

.fa-file-video:before {
	content: "\f1c8"
}

.fa-up-right-from-square:before {
	content: "\f35d"
}

.fa-file-pdf:before {
	content: "\f1c1"
}

.fa-o:before {
	content: "\4f"
}

.fa-clipboard-user:before {
	content: "\f7f3"
}

.fa-child:before {
	content: "\f1ae"
}

.fa-tag:before {
	content: "\f02b"
}

.fa-envelope:before {
	content: "\f0e0"
}

.fa-paperclip:before {
	content: "\f0c6"
}

.fa-sort-numeric-up-alt:before {
	content: "\f887"
}

.fa-border-none:before {
	content: "\f850"
}

.fa-user-md:before {
	content: "\f0f0"
}

.fa-circle-info:before,
.fa-info-circle:before {
	content: "\f05a"
}

.fa-sort-numeric-down:before {
	content: "\f162"
}

.fa-calendar-check:before {
	content: "\f274"
}

.fa-cookie:before {
	content: "\f563"
}

.fa-list-alt:before {
	content: "\f022"
}

.fa-calendar-plus:before {
	content: "\f271"
}

.fa-circle-left:before {
	content: "\f359"
}

.fa-left-long:before {
	content: "\f30a"
}

.fa-cog:before {
	content: "\f013"
}

.fa-u:before {
	content: "\55"
}

.fa-clock:before {
	content: "\f017"
}

.fa-s:before {
	content: "\53"
}

.fa-mobile-screen:before {
	content: "\f3cf"
}

.fa-ellipsis-v:before,
.fa-ellipsis-vertical:before {
	content: "\f142"
}

.fa-right-long:before {
	content: "\f30b"
}

.fa-images:before {
	content: "\f302"
}

.fa-n:before {
	content: "\4e"
}

.fa-download:before {
	content: "\f019"
}

.fa-delete-left:before {
	content: "\f55a"
}

.fa-file-circle-check:before {
	content: "\e5a0"
}

.fa-mobile:before {
	content: "\f3ce"
}

.fa-align-center:before {
	content: "\f037"
}

.fa-id-card:before {
	content: "\f2c2"
}

.fa-home-alt:before,
.fa-home-lg-alt:before,
.fa-home:before {
	content: "\f015"
}

.fa-calendar-week:before {
	content: "\f784"
}

.fa-b:before {
	content: "\42"
}

.fa-rotate-right:before {
	content: "\f2f9"
}

.fa-up-long:before {
	content: "\f30c"
}

.fa-file-download:before {
	content: "\f56d"
}

.fa-shield-cat:before {
	content: "\e572"
}

.fa-sun:before {
	content: "\f185"
}

.fa-circle-down:before {
	content: "\f358"
}

.fa-user-lock:before {
	content: "\f502"
}

.fa-ellipsis-h:before,
.fa-ellipsis:before {
	content: "\f141"
}

.fa-dice-d20:before {
	content: "\f6cf"
}

.fa-h-square:before,
.fa-square-h:before {
	content: "\f0fd"
}

.fa-bell:before {
	content: "\f0f3"
}

.fa-map-marker-alt:before {
	content: "\f3c5"
}

.fa-file:before {
	content: "\f15b"
}

.fa-dove:before {
	content: "\f4ba"
}

.fa-section:before {
	content: "\e447"
}

.fa-envelope-open-text:before {
	content: "\f658"
}

.fa-link:before {
	content: "\f0c1"
}

.fa-play:before {
	content: "\f04b"
}

.fa-font:before {
	content: "\f031"
}

.fa-search:before {
	content: "\f002"
}

.fa-file-edit:before {
	content: "\f31c"
}

.fa-chevron-down:before {
	content: "\f078"
}

.fa-list-ul:before {
	content: "\f0ca"
}

.fa-down-long:before {
	content: "\f309"
}

.fa-list-check:before,
.fa-tasks:before {
	content: "\f0ae"
}

.fa-circle-user:before,
.fa-user-circle:before {
	content: "\f2bd"
}

.fa-user-shield:before {
	content: "\f505"
}

.fa-y:before {
	content: "\59"
}

.fa-user-graduate:before {
	content: "\f501"
}

.fa-copy:before {
	content: "\f0c5"
}

.fa-share-from-square:before,
.fa-share-square:before {
	content: "\f14d"
}

.fa-add:before,
.fa-plus:before {
	content: "\2b"
}

.fa-expand:before {
	content: "\f065"
}

.fa-close:before,
.fa-remove:before,
.fa-times:before {
	content: "\f00d"
}

.fa-building-shield:before {
	content: "\e4d8"
}

.fa-quote-left-alt:before,
.fa-quote-left:before {
	content: "\f10d"
}

.fa-copyright:before {
	content: "\f1f9"
}

.fa-map:before {
	content: "\f279"
}

.fa-photo-video:before {
	content: "\f87c"
}

.fa-tablet:before {
	content: "\f3fb"
}

.fa-chevron-left:before {
	content: "\f053"
}

.fa-chevron-right:before {
	content: "\f054"
}

.fa-display:before {
	content: "\e163"
}

.fa-rotate:before,
.fa-sync-alt:before {
	content: "\f2f1"
}

.fa-spinner:before {
	content: "\f110"
}

.fa-cogs:before {
	content: "\f085"
}

.fa-building:before {
	content: "\f1ad"
}

.fa-clock-rotate-left:before {
	content: "\f1da"
}

.fa-shield-blank:before,
.fa-shield:before {
	content: "\f132"
}

.fa-chevron-circle-left:before,
.fa-circle-chevron-left:before {
	content: "\f137"
}

.fa-times-square:before {
	content: "\f2d3"
}

.fa-expand-alt:before,
.fa-up-right-and-down-left-from-center:before {
	content: "\f424"
}

.fa-t:before {
	content: "\54"
}

.fa-chart-column:before {
	content: "\e0e3"
}

.fa-infinity:before {
	content: "\f534"
}

.fa-up-down:before {
	content: "\f338"
}

.fa-calendar:before {
	content: "\f133"
}

.fa-circle-plus:before,
.fa-plus-circle:before {
	content: "\f055"
}

.fa-file-circle-plus:before {
	content: "\e494"
}

.fa-anchor:before {
	content: "\f13d"
}

.fa-border-all:before {
	content: "\f84c"
}

.fa-cookie-bite:before {
	content: "\f564"
}

.fa-balance-scale:before {
	content: "\f24e"
}

.fa-desktop-alt:before,
.fa-desktop:before {
	content: "\f390"
}

.fa-table-list:before {
	content: "\f00b"
}

.fa-book:before {
	content: "\f02d"
}

.fa-user-plus:before {
	content: "\f234"
}

.fa-check:before {
	content: "\f00c"
}

.fa-user-tag:before {
	content: "\f507"
}

.fa-window-close:before {
	content: "\f410"
}

.fa-book-open:before {
	content: "\f518"
}

.fa-exclamation-triangle:before,
.fa-triangle-exclamation:before {
	content: "\f071"
}

.fa-database:before {
	content: "\f1c0"
}

.fa-share:before {
	content: "\f064"
}

.fa-right-left:before {
	content: "\f362"
}

.fa-align-right:before {
	content: "\f038"
}

.fa-calendar-day:before {
	content: "\f783"
}

.fa-envelope-square:before,
.fa-square-envelope:before {
	content: "\f199"
}

.fa-dice:before {
	content: "\f522"
}

.fa-times-circle:before {
	content: "\f057"
}

.fa-id-card-alt:before,
.fa-id-card-clip:before {
	content: "\f47f"
}

.fa-search-plus:before {
	content: "\f00e"
}

.fa-user-clock:before {
	content: "\f4fd"
}

.fa-user-alt:before {
	content: "\f406"
}

.fa-cloud-sun:before {
	content: "\f6c4"
}

.fa-square-full:before {
	content: "\f45c"
}

.fa-exclamation:before {
	content: "\21"
}

.fa-try:before {
	content: "\e2bb"
}

.fa-x:before {
	content: "\58"
}

.fa-d:before {
	content: "\44"
}

.fa-handshake-alt:before {
	content: "\f4c6"
}

.fa-share-alt-square:before {
	content: "\f1e1"
}

.fa-video:before {
	content: "\f03d"
}

.fa-sr-only,
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0
}

:host,
:root {
	--fa-style-family-brands: "Font Awesome 6 Brands";
	--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"
}

@font-face {
	font-family: "Font Awesome 6 Brands";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../webfonts/fa-brands-400.woff2) format("woff2"), url(../webfonts/fa-brands-400.ttf) format("truetype")
}

.fa-brands,
.fab {
	font-weight: 400
}

.fa-cloudflare:before {
	content: "\e07d"
}

.fa-js-square:before,
.fa-square-js:before {
	content: "\f3b9"
}

.fa-css3-alt:before {
	content: "\f38b"
}

.fa-square-font-awesome:before {
	content: "\e5ad"
}

.fa-instagram-square:before,
.fa-square-instagram:before {
	content: "\e055"
}

.fa-google-plus-g:before {
	content: "\f0d5"
}

.fa-google-plus:before {
	content: "\f2b3"
}

.fa-google:before {
	content: "\f1a0"
}

.fa-font-awesome-alt:before {
	content: "\f35c"
}

.fa-r-project:before {
	content: "\f4f7"
}

.fa-square-youtube:before,
.fa-youtube-square:before {
	content: "\f431"
}

.fa-meta:before {
	content: "\e49b"
}

.fa-500px:before {
	content: "\f26e"
}

.fa-font-awesome-logo-full:before,
.fa-font-awesome:before {
	content: "\f2b4"
}

.fa-page4:before {
	content: "\f3d7"
}

.fa-facebook-f:before {
	content: "\f39e"
}

.fa-google-plus-square:before,
.fa-square-google-plus:before {
	content: "\f0d4"
}

.fa-facebook-messenger:before {
	content: "\f39f"
}

.fa-42-group:before {
	content: "\e080"
}

.fa-facebook-square:before,
.fa-square-facebook:before {
	content: "\f082"
}

.fa-instagram:before {
	content: "\f16d"
}

.fa-facebook:before {
	content: "\f09a"
}

.fa-whatsapp:before {
	content: "\f232"
}

.fa-google-play:before {
	content: "\f3ab"
}

.fa-line:before {
	content: "\f3c0"
}

.fa-d-and-d:before {
	content: "\f38d"
}

.fa-html5:before {
	content: "\f13b"
}

.fa-css3:before {
	content: "\f13c"
}

.fa-space-awesome:before {
	content: "\e5ac"
}

.fa-js:before {
	content: "\f3b8"
}

.fa-php:before {
	content: "\f457"
}

.fa-youtube:before {
	content: "\f167"
}

.fa-npm:before {
	content: "\f3d4"
}

.fa-square-whatsapp:before,
.fa-whatsapp-square:before {
	content: "\f40c"
}

.fa-medium:before {
	content: "\f23a"
}

:host,
:root {
	--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"
}

@font-face {
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../webfonts/fa-regular-400.woff2) format("woff2"), url(../webfonts/fa-regular-400.ttf) format("truetype")
}

.fa-regular {
	font-weight: 400
}

:host,
:root {
	--fa-style-family-classic: "Font Awesome 6 Free";
	--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"
}

@font-face {
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url(../webfonts/fa-solid-900.woff2) format("woff2"), url(../webfonts/fa-solid-900.ttf) format("truetype")
}

.fa-solid,
.fas {
	font-weight: 900
}

@font-face {
	font-family: "Font Awesome 5 Brands";
	font-display: swap;
	font-weight: 400;
	src: url(../webfonts/fa-brands-400.woff2) format("woff2"), url(../webfonts/fa-brands-400.ttf) format("truetype")
}

@font-face {
	font-family: "Font Awesome 5 Free";
	font-display: swap;
	font-weight: 900;
	src: url(../webfonts/fa-solid-900.woff2) format("woff2"), url(../webfonts/fa-solid-900.ttf) format("truetype")
}

@font-face {
	font-family: "Font Awesome 5 Free";
	font-display: swap;
	font-weight: 400;
	src: url(../webfonts/fa-regular-400.woff2) format("woff2"), url(../webfonts/fa-regular-400.ttf) format("truetype")
}

@font-face {
	font-family: FontAwesome;
	font-display: swap;
	src: url(../webfonts/fa-solid-900.woff2) format("woff2"), url(../webfonts/fa-solid-900.ttf) format("truetype")
}

@font-face {
	font-family: FontAwesome;
	font-display: swap;
	src: url(../webfonts/fa-brands-400.woff2) format("woff2"), url(../webfonts/fa-brands-400.ttf) format("truetype")
}

@font-face {
	font-family: FontAwesome;
	font-display: swap;
	src: url(../webfonts/fa-regular-400.woff2) format("woff2"), url(../webfonts/fa-regular-400.ttf) format("truetype");
	unicode-range: u+f003, u+f006, u+f014, u+f016-f017, u+f01a-f01b, u+f01d, u+f022, u+f03e, u+f044, u+f046, u+f05c-f05d, u+f06e, u+f070, u+f087-f088, u+f08a, u+f094, u+f096-f097, u+f09d, u+f0a0, u+f0a2, u+f0a4-f0a7, u+f0c5, u+f0c7, u+f0e5-f0e6, u+f0eb, u+f0f6-f0f8, u+f10c, u+f114-f115, u+f118-f11a, u+f11c-f11d, u+f133, u+f147, u+f14e, u+f150-f152, u+f185-f186, u+f18e, u+f190-f192, u+f196, u+f1c1-f1c9, u+f1d9, u+f1db, u+f1e3, u+f1ea, u+f1f7, u+f1f9, u+f20a, u+f247-f248, u+f24a, u+f24d, u+f255-f25b, u+f25d, u+f271-f274, u+f278, u+f27b, u+f28c, u+f28e, u+f29c, u+f2b5, u+f2b7, u+f2ba, u+f2bc, u+f2be, u+f2c0-f2c1, u+f2c3, u+f2d0, u+f2d2, u+f2d4, u+f2dc
}

@font-face {
	font-family: FontAwesome;
	font-display: swap;
	src: url(../webfonts/fa-v4compatibility.woff2) format("woff2"), url(../webfonts/fa-v4compatibility.ttf) format("truetype");
	unicode-range: u+f041, u+f047, u+f065-f066, u+f07d-f07e, u+f080, u+f08b, u+f08e, u+f090, u+f09a, u+f0ac, u+f0ae, u+f0b2, u+f0d0, u+f0d6, u+f0e4, u+f0ec, u+f10a-f10b, u+f123, u+f13e, u+f148-f149, u+f14c, u+f156, u+f15e, u+f160-f161, u+f163, u+f175-f178, u+f195, u+f1f8, u+f219, u+f27a
}

*,
:after,
:before {
	border: 0 solid #e5e7eb;
	box-sizing: border-box
}

:after,
:before {
	--tw-content: ""
}

:host,
html {
	-webkit-text-size-adjust: 100%;
	font-feature-settings: normal;
	-webkit-tap-highlight-color: transparent;
	font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
	font-variation-settings: normal;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4
}

body {
	line-height: inherit;
	margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit
}

a {
	color: inherit;
	text-decoration: inherit
}

b,
strong {
	font-weight: bolder
}

pre {
	font-feature-settings: normal;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
	font-size: 1em;
	font-variation-settings: normal
}

table {
	border-collapse: collapse;
	border-color: inherit;
	text-indent: 0
}

button,
input,
select {
	font-feature-settings: inherit;
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	font-variation-settings: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0
}

button,
select {
	text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
	-webkit-appearance: button;
	background-color: initial;
	background-image: none
}

:-moz-focusring {
	outline: auto
}

:-moz-ui-invalid {
	box-shadow: none
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

summary {
	display: list-item
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre {
	margin: 0
}

menu,
ol,
ul {
	list-style: none;
	margin: 0;
	padding: 0
}

input::-moz-placeholder {
	color: #9ca3af;
	opacity: 1
}

input::placeholder {
	color: #9ca3af;
	opacity: 1
}

[role=button],
button {
	cursor: pointer
}

:disabled {
	cursor: default
}

embed,
iframe,
img,
object,
video {
	display: block;
	vertical-align: middle
}

img,
video {
	height: auto;
	max-width: 100%
}

[hidden] {
	display: none
}

*,
::backdrop,
:after,
:before {
	--tw-border-spacing-x: 0;
	--tw-border-spacing-y: 0;
	--tw-translate-x: 0;
	--tw-translate-y: 0;
	--tw-rotate: 0;
	--tw-skew-x: 0;
	--tw-skew-y: 0;
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	--tw-scroll-snap-strictness: proximity;
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: #3b82f680;
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-ring-shadow: 0 0 #0000;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000
}

.\!container {
	width: 100% !important
}

.container {
	width: 100%
}

@media (min-width:640px) {
	.\!container {
		max-width: 640px !important
	}

	.container {
		max-width: 640px
	}
}

@media (min-width:768px) {
	.\!container {
		max-width: 768px !important
	}

	.container {
		max-width: 768px
	}
}

@media (min-width:1024px) {
	.\!container {
		max-width: 1024px !important
	}

	.container {
		max-width: 1024px
	}
}

@media (min-width:1280px) {
	.\!container {
		max-width: 1280px !important
	}

	.container {
		max-width: 1280px
	}
}

@media (min-width:1536px) {
	.\!container {
		max-width: 1536px !important
	}

	.container {
		max-width: 1536px
	}
}

.sr-only {
	clip: rect(0, 0, 0, 0);
	border-width: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px
}

.visible {
	visibility: visible
}

.absolute {
	position: absolute
}

.relative {
	position: relative
}

.sticky {
	position: sticky
}

.inset-0 {
	inset: 0
}

.bottom-0 {
	bottom: 0
}

.left-0 {
	left: 0
}

.right-0 {
	right: 0
}

.right-4 {
	right: 1rem
}

.top-0 {
	top: 0
}

.top-20 {
	top: 5rem
}

.top-4 {
	top: 1rem
}

.z-0 {
	z-index: 0
}

.z-10 {
	z-index: 10
}

.z-20 {
	z-index: 20
}

.z-30 {
	z-index: 30
}

.z-50 {
	z-index: 50
}

.col-span-1 {
	grid-column: span 1/span 1
}

.col-span-2 {
	grid-column: span 2/span 2
}

.col-span-5 {
	grid-column: span 5/span 5
}

.col-span-full {
	grid-column: 1/-1
}

.mx-auto {
	margin-left: auto;
	margin-right: auto
}

.-ml-1 {
	margin-left: -.25rem
}

.-mr-10 {
	margin-right: -2.5rem
}

.-mt-10 {
	margin-top: -2.5rem
}

.mb-1 {
	margin-bottom: .25rem
}

.mb-10 {
	margin-bottom: 2.5rem
}

.mb-12 {
	margin-bottom: 3rem
}

.mb-2 {
	margin-bottom: .5rem
}

.mb-3 {
	margin-bottom: .75rem
}

.mb-4 {
	margin-bottom: 1rem
}

.mb-5 {
	margin-bottom: 1.25rem
}

.mb-6 {
	margin-bottom: 1.5rem
}

.mb-8 {
	margin-bottom: 2rem
}

.ml-1 {
	margin-left: .25rem
}

.ml-2 {
	margin-left: .5rem
}

.ml-3 {
	margin-left: .75rem
}

.ml-4 {
	margin-left: 1rem
}

.ml-auto {
	margin-left: auto
}

.mr-1 {
	margin-right: .25rem
}

.mr-1\.5 {
	margin-right: .375rem
}

.mr-2 {
	margin-right: .5rem
}

.mr-3 {
	margin-right: .75rem
}

.mr-4 {
	margin-right: 1rem
}

.mt-0 {
	margin-top: 0
}

.mt-0\.5 {
	margin-top: .125rem
}

.mt-1 {
	margin-top: .25rem
}

.mt-12 {
	margin-top: 3rem
}

.mt-2 {
	margin-top: .5rem
}

.mt-20 {
	margin-top: 5rem
}

.mt-3 {
	margin-top: .75rem
}

.mt-4 {
	margin-top: 1rem
}

.mt-6 {
	margin-top: 1.5rem
}

.mt-8 {
	margin-top: 2rem
}

.mt-auto {
	margin-top: auto
}

.block {
	display: block
}

.inline-block {
	display: inline-block
}

.inline {
	display: inline
}

.flex {
	display: flex
}

.inline-flex {
	display: inline-flex
}

.table {
	display: table
}

.grid {
	display: grid
}

.\!grid {
	display: grid !important
}

.hidden {
	display: none
}

.h-1 {
	height: .25rem
}

.h-1\.5 {
	height: .375rem
}

.h-10 {
	height: 2.5rem
}

.h-12 {
	height: 3rem
}

.h-16 {
	height: 4rem
}

.h-20 {
	height: 5rem
}

.h-24 {
	height: 6rem
}

.h-3 {
	height: .75rem
}

.h-32 {
	height: 8rem
}

.h-4 {
	height: 1rem
}

.h-48 {
	height: 12rem
}

.h-5 {
	height: 1.25rem
}

.h-6 {
	height: 1.5rem
}

.h-64 {
	height: 16rem
}

.h-8 {
	height: 2rem
}

.h-auto {
	height: auto
}

.h-full {
	height: 100%
}

.max-h-24 {
	max-height: 6rem
}

.max-h-32 {
	max-height: 8rem
}

.max-h-40 {
	max-height: 10rem
}

.max-h-96 {
	max-height: 24rem
}

.min-h-\[1\.25rem\] {
	min-height: 1.25rem
}

.min-h-\[20px\] {
	min-height: 20px
}

.min-h-\[400px\] {
	min-height: 400px
}

.min-h-\[5rem\] {
	min-height: 5rem
}

.min-h-screen {
	min-height: 100vh
}

.w-10 {
	width: 2.5rem
}

.w-11 {
	width: 2.75rem
}

.w-12 {
	width: 3rem
}

.w-14 {
	width: 3.5rem
}

.w-16 {
	width: 4rem
}

.w-20 {
	width: 5rem
}

.w-24 {
	width: 6rem
}

.w-3 {
	width: .75rem
}

.w-32 {
	width: 8rem
}

.w-4 {
	width: 1rem
}

.w-48 {
	width: 12rem
}

.w-5 {
	width: 1.25rem
}

.w-56 {
	width: 14rem
}

.w-6 {
	width: 1.5rem
}

.w-8 {
	width: 2rem
}

.w-96 {
	width: 24rem
}

.w-full {
	width: 100%
}

.min-w-full {
	min-width: 100%
}

.max-w-2xl {
	max-width: 42rem
}

.max-w-3xl {
	max-width: 48rem
}

.max-w-4xl {
	max-width: 56rem
}

.max-w-7xl {
	max-width: 80rem
}

.max-w-md {
	max-width: 28rem
}

.max-w-none {
	max-width: none
}

.max-w-sm {
	max-width: 24rem
}

.max-w-xl {
	max-width: 36rem
}

.flex-1 {
	flex: 1 1 0%
}

.flex-shrink {
	flex-shrink: 1
}

.flex-shrink-0 {
	flex-shrink: 0
}

.flex-grow {
	flex-grow: 1
}

.-translate-y-2 {
	--tw-translate-y: -0.5rem
}

.-translate-y-2,
.translate-x-2 {
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-2 {
	--tw-translate-x: 0.5rem
}

.rotate-180 {
	--tw-rotate: 180deg
}

.rotate-180,
.transform {
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes spin {
	to {
		transform: rotate(1turn)
	}
}

.animate-spin {
	animation: spin 1s linear infinite
}

.cursor-default {
	cursor: default
}

.cursor-pointer {
	cursor: pointer
}

.resize {
	resize: both
}

.appearance-none {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.grid-cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid-cols-12 {
	grid-template-columns: repeat(12, minmax(0, 1fr))
}

.grid-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr))
}

.grid-cols-7 {
	grid-template-columns: repeat(7, minmax(0, 1fr))
}

.flex-col {
	flex-direction: column
}

.flex-wrap {
	flex-wrap: wrap
}

.items-start {
	align-items: flex-start
}

.items-end {
	align-items: flex-end
}

.items-center {
	align-items: center
}

.justify-end {
	justify-content: flex-end
}

.justify-center {
	justify-content: center
}

.justify-between {
	justify-content: space-between
}

.gap-1 {
	gap: .25rem
}

.gap-2 {
	gap: .5rem
}

.gap-3 {
	gap: .75rem
}

.gap-4 {
	gap: 1rem
}

.gap-6 {
	gap: 1.5rem
}

.gap-8 {
	gap: 2rem
}

.gap-x-2 {
	-moz-column-gap: .5rem;
	column-gap: .5rem
}

.gap-x-4 {
	-moz-column-gap: 1rem;
	column-gap: 1rem
}

.gap-x-6 {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem
}

.gap-x-8 {
	-moz-column-gap: 2rem;
	column-gap: 2rem
}

.gap-y-2 {
	row-gap: .5rem
}

.gap-y-3 {
	row-gap: .75rem
}

.gap-y-4 {
	row-gap: 1rem
}

.gap-y-6 {
	row-gap: 1.5rem
}

.space-x-1>:not([hidden])~:not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-left: calc(.25rem * (1 - var(--tw-space-x-reverse)));
	margin-right: calc(.25rem * var(--tw-space-x-reverse))
}

.space-x-2>:not([hidden])~:not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-left: calc(.5rem * (1 - var(--tw-space-x-reverse)));
	margin-right: calc(.5rem * var(--tw-space-x-reverse))
}

.space-x-3>:not([hidden])~:not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-left: calc(.75rem * (1 - var(--tw-space-x-reverse)));
	margin-right: calc(.75rem * var(--tw-space-x-reverse))
}

.space-x-4>:not([hidden])~:not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));
	margin-right: calc(1rem * var(--tw-space-x-reverse))
}

.space-x-6>:not([hidden])~:not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-left: calc(1.5rem * (1 - var(--tw-space-x-reverse)));
	margin-right: calc(1.5rem * var(--tw-space-x-reverse))
}

.space-y-0>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(0px * var(--tw-space-y-reverse));
	margin-top: calc(0px * (1 - var(--tw-space-y-reverse)))
}

.space-y-0\.5>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(.125rem * var(--tw-space-y-reverse));
	margin-top: calc(.125rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-1>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(.25rem * var(--tw-space-y-reverse));
	margin-top: calc(.25rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-2>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(.5rem * var(--tw-space-y-reverse));
	margin-top: calc(.5rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-3>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(.75rem * var(--tw-space-y-reverse));
	margin-top: calc(.75rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-4>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(1rem * var(--tw-space-y-reverse));
	margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-6>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
	margin-top: calc(1.5rem * (1 - var(--tw-space-y-reverse)))
}

.space-y-8>:not([hidden])~:not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-bottom: calc(2rem * var(--tw-space-y-reverse));
	margin-top: calc(2rem * (1 - var(--tw-space-y-reverse)))
}

.self-end {
	align-self: flex-end
}

.overflow-hidden {
	overflow: hidden
}

.overflow-x-auto {
	overflow-x: auto
}

.overflow-y-auto {
	overflow-y: auto
}

.truncate {
	overflow: hidden;
	text-overflow: ellipsis
}

.truncate {
	white-space: nowrap
}

.break-words {
	overflow-wrap: break-word
}

.break-all {
	word-break: break-all
}

.rounded {
	border-radius: .25rem
}

.rounded-full {
	border-radius: 9999px
}

.rounded-lg {
	border-radius: .5rem
}

.rounded-md {
	border-radius: .375rem
}

.rounded-xl {
	border-radius: .75rem
}

.rounded-r-lg {
	border-bottom-right-radius: .5rem;
	border-top-right-radius: .5rem
}

.rounded-t {
	border-top-left-radius: .25rem;
	border-top-right-radius: .25rem
}

.border {
	border-width: 1px
}

.border-4 {
	border-width: 4px
}

.border-b {
	border-bottom-width: 1px
}

.border-b-2 {
	border-bottom-width: 2px
}

.border-l-4 {
	border-left-width: 4px
}

.border-t {
	border-top-width: 1px
}

.border-none {
	border-style: none
}

.border-blue-200 {
	--tw-border-opacity: 1;
	border-color: rgb(191 219 254 / var(--tw-border-opacity))
}

.border-blue-500 {
	--tw-border-opacity: 1;
	border-color: rgb(59 130 246 / var(--tw-border-opacity))
}

.border-blue-600 {
	--tw-border-opacity: 1;
	border-color: rgb(37 99 235 / var(--tw-border-opacity))
}

.border-gray-100 {
	--tw-border-opacity: 1;
	border-color: rgb(243 244 246 / var(--tw-border-opacity))
}

.border-gray-200 {
	--tw-border-opacity: 1;
	border-color: rgb(229 231 235 / var(--tw-border-opacity))
}

.border-gray-300 {
	--tw-border-opacity: 1;
	border-color: rgb(209 213 219 / var(--tw-border-opacity))
}

.border-gray-700 {
	--tw-border-opacity: 1;
	border-color: rgb(55 65 81 / var(--tw-border-opacity))
}

.border-green-200 {
	--tw-border-opacity: 1;
	border-color: rgb(187 247 208 / var(--tw-border-opacity))
}

.border-green-500 {
	--tw-border-opacity: 1;
	border-color: rgb(34 197 94 / var(--tw-border-opacity))
}

.border-orange-200 {
	--tw-border-opacity: 1;
	border-color: rgb(254 215 170 / var(--tw-border-opacity))
}

.border-orange-500 {
	--tw-border-opacity: 1;
	border-color: rgb(249 115 22 / var(--tw-border-opacity))
}

.border-purple-200 {
	--tw-border-opacity: 1;
	border-color: rgb(233 213 255 / var(--tw-border-opacity))
}

.border-purple-500 {
	--tw-border-opacity: 1;
	border-color: rgb(168 85 247 / var(--tw-border-opacity))
}

.border-red-200 {
	--tw-border-opacity: 1;
	border-color: rgb(254 202 202 / var(--tw-border-opacity))
}

.border-red-500 {
	--tw-border-opacity: 1;
	border-color: rgb(239 68 68 / var(--tw-border-opacity))
}

.border-transparent {
	border-color: #0000
}

.border-white {
	--tw-border-opacity: 1;
	border-color: rgb(255 255 255 / var(--tw-border-opacity))
}

.border-yellow-200 {
	--tw-border-opacity: 1;
	border-color: rgb(254 240 138 / var(--tw-border-opacity))
}

.border-yellow-500 {
	--tw-border-opacity: 1;
	border-color: rgb(234 179 8 / var(--tw-border-opacity))
}

.\!bg-transparent {
	background-color: initial !important
}

.bg-black\/40 {
	background-color: #0006
}

.bg-blue-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(219 234 254 / var(--tw-bg-opacity))
}

.bg-blue-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(191 219 254 / var(--tw-bg-opacity))
}

.bg-blue-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(239 246 255 / var(--tw-bg-opacity))
}

.bg-blue-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(59 130 246 / var(--tw-bg-opacity))
}

.bg-blue-600 {
	--tw-bg-opacity: 1;
	background-color: rgb(37 99 235 / var(--tw-bg-opacity))
}

.bg-gray-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(243 244 246 / var(--tw-bg-opacity))
}

.bg-gray-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(229 231 235 / var(--tw-bg-opacity))
}

.bg-gray-300 {
	--tw-bg-opacity: 1;
	background-color: rgb(209 213 219 / var(--tw-bg-opacity))
}

.bg-gray-400 {
	--tw-bg-opacity: 1;
	background-color: rgb(156 163 175 / var(--tw-bg-opacity))
}

.bg-gray-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(249 250 251 / var(--tw-bg-opacity))
}

.bg-gray-50\/80 {
	background-color: #f9fafbcc
}

.bg-gray-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(107 114 128 / var(--tw-bg-opacity))
}

.bg-gray-600 {
	--tw-bg-opacity: 1;
	background-color: rgb(75 85 99 / var(--tw-bg-opacity))
}

.bg-gray-800 {
	--tw-bg-opacity: 1;
	background-color: rgb(31 41 55 / var(--tw-bg-opacity))
}

.bg-green-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(220 252 231 / var(--tw-bg-opacity))
}

.bg-green-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(187 247 208 / var(--tw-bg-opacity))
}

.bg-green-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(240 253 244 / var(--tw-bg-opacity))
}

.bg-green-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(34 197 94 / var(--tw-bg-opacity))
}

.bg-green-600 {
	--tw-bg-opacity: 1;
	background-color: rgb(22 163 74 / var(--tw-bg-opacity))
}

.bg-orange-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(255 237 213 / var(--tw-bg-opacity))
}

.bg-orange-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(255 247 237 / var(--tw-bg-opacity))
}

.bg-orange-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(249 115 22 / var(--tw-bg-opacity))
}

.bg-orange-600 {
	--tw-bg-opacity: 1;
	background-color: rgb(234 88 12 / var(--tw-bg-opacity))
}

.bg-purple-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(243 232 255 / var(--tw-bg-opacity))
}

.bg-purple-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(233 213 255 / var(--tw-bg-opacity))
}

.bg-purple-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(250 245 255 / var(--tw-bg-opacity))
}

.bg-red-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 226 226 / var(--tw-bg-opacity))
}

.bg-red-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 202 202 / var(--tw-bg-opacity))
}

.bg-red-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 242 242 / var(--tw-bg-opacity))
}

.bg-red-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(239 68 68 / var(--tw-bg-opacity))
}

.bg-red-600 {
	--tw-bg-opacity: 1;
	background-color: rgb(220 38 38 / var(--tw-bg-opacity))
}

.bg-transparent {
	background-color: initial
}

.bg-white {
	--tw-bg-opacity: 1;
	background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.bg-white\/20 {
	background-color: #fff3
}

.bg-white\/70 {
	background-color: #ffffffb3
}

.bg-yellow-100 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 249 195 / var(--tw-bg-opacity))
}

.bg-yellow-100\/90 {
	background-color: #fef9c3e6
}

.bg-yellow-200 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 240 138 / var(--tw-bg-opacity))
}

.bg-yellow-400 {
	--tw-bg-opacity: 1;
	background-color: rgb(250 204 21 / var(--tw-bg-opacity))
}

.bg-yellow-50 {
	--tw-bg-opacity: 1;
	background-color: rgb(254 252 232 / var(--tw-bg-opacity))
}

.bg-yellow-500 {
	--tw-bg-opacity: 1;
	background-color: rgb(234 179 8 / var(--tw-bg-opacity))
}

.bg-opacity-20 {
	--tw-bg-opacity: 0.2
}

.bg-opacity-50 {
	--tw-bg-opacity: 0.5
}

.bg-gradient-to-br {
	background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}

.bg-gradient-to-r {
	background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.bg-gradient-to-t {
	background-image: linear-gradient(to top, var(--tw-gradient-stops))
}

.from-black\/85 {
	--tw-gradient-from: #000000d9 var(--tw-gradient-from-position);
	--tw-gradient-to: #0000 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-blue-500 {
	--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
	--tw-gradient-to: #3b82f600 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-blue-600 {
	--tw-gradient-from: #2563eb var(--tw-gradient-from-position);
	--tw-gradient-to: #2563eb00 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-green-50 {
	--tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
	--tw-gradient-to: #f0fdf400 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-green-500 {
	--tw-gradient-from: #22c55e var(--tw-gradient-from-position);
	--tw-gradient-to: #22c55e00 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-purple-50 {
	--tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
	--tw-gradient-to: #faf5ff00 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-black\/50 {
	--tw-gradient-to: #0000 var(--tw-gradient-to-position);
	--tw-gradient-stops: var(--tw-gradient-from), #00000080 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-blue-600 {
	--tw-gradient-to: #2563eb var(--tw-gradient-to-position)
}

.to-blue-700 {
	--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)
}

.to-green-100 {
	--tw-gradient-to: #dcfce7 var(--tw-gradient-to-position)
}

.to-green-600 {
	--tw-gradient-to: #16a34a var(--tw-gradient-to-position)
}

.to-purple-100 {
	--tw-gradient-to: #f3e8ff var(--tw-gradient-to-position)
}

.to-transparent {
	--tw-gradient-to: #0000 var(--tw-gradient-to-position)
}

.object-contain {
	-o-object-fit: contain;
	object-fit: contain
}

.object-cover {
	-o-object-fit: cover;
	object-fit: cover
}

.p-0 {
	padding: 0
}

.p-1 {
	padding: .25rem
}

.p-1\.5 {
	padding: .375rem
}

.p-10 {
	padding: 2.5rem
}

.p-2 {
	padding: .5rem
}

.p-3 {
	padding: .75rem
}

.p-4 {
	padding: 1rem
}

.p-5 {
	padding: 1.25rem
}

.p-6 {
	padding: 1.5rem
}

.p-8 {
	padding: 2rem
}

.px-1 {
	padding-left: .25rem;
	padding-right: .25rem
}

.px-1\.5 {
	padding-left: .375rem;
	padding-right: .375rem
}

.px-10 {
	padding-left: 2.5rem;
	padding-right: 2.5rem
}

.px-2 {
	padding-left: .5rem;
	padding-right: .5rem
}

.px-2\.5 {
	padding-left: .625rem;
	padding-right: .625rem
}

.px-3 {
	padding-left: .75rem;
	padding-right: .75rem
}

.px-4 {
	padding-left: 1rem;
	padding-right: 1rem
}

.px-6 {
	padding-left: 1.5rem;
	padding-right: 1.5rem
}

.px-8 {
	padding-left: 2rem;
	padding-right: 2rem
}

.py-0 {
	padding-bottom: 0;
	padding-top: 0
}

.py-0\.5 {
	padding-bottom: .125rem;
	padding-top: .125rem
}

.py-1 {
	padding-bottom: .25rem;
	padding-top: .25rem
}

.py-12 {
	padding-bottom: 3rem;
	padding-top: 3rem
}

.py-14 {
	padding-bottom: 3.5rem;
	padding-top: 3.5rem
}

.py-2 {
	padding-bottom: .5rem;
	padding-top: .5rem
}

.py-3 {
	padding-bottom: .75rem;
	padding-top: .75rem
}

.py-4 {
	padding-bottom: 1rem;
	padding-top: 1rem
}

.py-8 {
	padding-bottom: 2rem;
	padding-top: 2rem
}

.pb-1 {
	padding-bottom: .25rem
}

.pb-12 {
	padding-bottom: 3rem
}

.pb-3 {
	padding-bottom: .75rem
}

.pb-4 {
	padding-bottom: 1rem
}

.pl-4 {
	padding-left: 1rem
}

.pr-3 {
	padding-right: .75rem
}

.pr-4 {
	padding-right: 1rem
}

.pr-6 {
	padding-right: 1.5rem
}

.pt-0 {
	padding-top: 0
}

.pt-2 {
	padding-top: .5rem
}

.pt-3 {
	padding-top: .75rem
}

.pt-4 {
	padding-top: 1rem
}

.pt-5 {
	padding-top: 1.25rem
}

.pt-6 {
	padding-top: 1.5rem
}

.pt-8 {
	padding-top: 2rem
}

.text-left {
	text-align: left
}

.text-center {
	text-align: center
}

.text-right {
	text-align: right
}

.font-sans {
	font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}

.text-2xl {
	font-size: 1.5rem;
	line-height: 2rem
}

.text-3xl {
	font-size: 1.875rem;
	line-height: 2.25rem
}

.text-4xl {
	font-size: 2.25rem;
	line-height: 2.5rem
}

.text-5xl {
	font-size: 3rem;
	line-height: 1
}

.text-6xl {
	font-size: 3.75rem;
	line-height: 1
}

.text-base {
	font-size: 1rem;
	line-height: 1.5rem
}

.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem
}

.text-sm {
	font-size: .875rem;
	line-height: 1.25rem
}

.text-xl {
	font-size: 1.25rem;
	line-height: 1.75rem
}

.text-xs {
	font-size: .75rem;
	line-height: 1rem
}

.font-bold {
	font-weight: 700
}

.font-extrabold {
	font-weight: 800
}

.font-medium {
	font-weight: 500
}

.font-semibold {
	font-weight: 600
}

.uppercase {
	text-transform: uppercase
}

.italic {
	font-style: italic
}

.leading-none {
	line-height: 1
}

.leading-relaxed {
	line-height: 1.625
}

.leading-tight {
	line-height: 1.25
}

.tracking-wide {
	letter-spacing: .025em
}

.tracking-wider {
	letter-spacing: .05em
}

.\!text-white {
	--tw-text-opacity: 1 !important;
	color: rgb(255 255 255 / var(--tw-text-opacity)) !important
}

.text-blue-100 {
	--tw-text-opacity: 1;
	color: rgb(219 234 254 / var(--tw-text-opacity))
}

.text-blue-400 {
	--tw-text-opacity: 1;
	color: rgb(96 165 250 / var(--tw-text-opacity))
}

.text-blue-500 {
	--tw-text-opacity: 1;
	color: rgb(59 130 246 / var(--tw-text-opacity))
}

.text-blue-600 {
	--tw-text-opacity: 1;
	color: rgb(37 99 235 / var(--tw-text-opacity))
}

.text-blue-700 {
	--tw-text-opacity: 1;
	color: rgb(29 78 216 / var(--tw-text-opacity))
}

.text-blue-800 {
	--tw-text-opacity: 1;
	color: rgb(30 64 175 / var(--tw-text-opacity))
}

.text-blue-900 {
	--tw-text-opacity: 1;
	color: rgb(30 58 138 / var(--tw-text-opacity))
}

.text-gray-300 {
	--tw-text-opacity: 1;
	color: rgb(209 213 219 / var(--tw-text-opacity))
}

.text-gray-400 {
	--tw-text-opacity: 1;
	color: rgb(156 163 175 / var(--tw-text-opacity))
}

.text-gray-500 {
	--tw-text-opacity: 1;
	color: rgb(107 114 128 / var(--tw-text-opacity))
}

.text-gray-600 {
	--tw-text-opacity: 1;
	color: rgb(75 85 99 / var(--tw-text-opacity))
}

.text-gray-700 {
	--tw-text-opacity: 1;
	color: rgb(55 65 81 / var(--tw-text-opacity))
}

.text-gray-800 {
	--tw-text-opacity: 1;
	color: rgb(31 41 55 / var(--tw-text-opacity))
}

.text-gray-900 {
	--tw-text-opacity: 1;
	color: rgb(17 24 39 / var(--tw-text-opacity))
}

.text-green-400 {
	--tw-text-opacity: 1;
	color: rgb(74 222 128 / var(--tw-text-opacity))
}

.text-green-500 {
	--tw-text-opacity: 1;
	color: rgb(34 197 94 / var(--tw-text-opacity))
}

.text-green-600 {
	--tw-text-opacity: 1;
	color: rgb(22 163 74 / var(--tw-text-opacity))
}

.text-green-700 {
	--tw-text-opacity: 1;
	color: rgb(21 128 61 / var(--tw-text-opacity))
}

.text-green-800 {
	--tw-text-opacity: 1;
	color: rgb(22 101 52 / var(--tw-text-opacity))
}

.text-green-900 {
	--tw-text-opacity: 1;
	color: rgb(20 83 45 / var(--tw-text-opacity))
}

.text-orange-500 {
	--tw-text-opacity: 1;
	color: rgb(249 115 22 / var(--tw-text-opacity))
}

.text-orange-600 {
	--tw-text-opacity: 1;
	color: rgb(234 88 12 / var(--tw-text-opacity))
}

.text-orange-700 {
	--tw-text-opacity: 1;
	color: rgb(194 65 12 / var(--tw-text-opacity))
}

.text-orange-800 {
	--tw-text-opacity: 1;
	color: rgb(154 52 18 / var(--tw-text-opacity))
}

.text-purple-500 {
	--tw-text-opacity: 1;
	color: rgb(168 85 247 / var(--tw-text-opacity))
}

.text-purple-600 {
	--tw-text-opacity: 1;
	color: rgb(147 51 234 / var(--tw-text-opacity))
}

.text-purple-700 {
	--tw-text-opacity: 1;
	color: rgb(126 34 206 / var(--tw-text-opacity))
}

.text-purple-800 {
	--tw-text-opacity: 1;
	color: rgb(107 33 168 / var(--tw-text-opacity))
}

.text-purple-900 {
	--tw-text-opacity: 1;
	color: rgb(88 28 135 / var(--tw-text-opacity))
}

.text-red-400 {
	--tw-text-opacity: 1;
	color: rgb(248 113 113 / var(--tw-text-opacity))
}

.text-red-500 {
	--tw-text-opacity: 1;
	color: rgb(239 68 68 / var(--tw-text-opacity))
}

.text-red-600 {
	--tw-text-opacity: 1;
	color: rgb(220 38 38 / var(--tw-text-opacity))
}

.text-red-700 {
	--tw-text-opacity: 1;
	color: rgb(185 28 28 / var(--tw-text-opacity))
}

.text-red-800 {
	--tw-text-opacity: 1;
	color: rgb(153 27 27 / var(--tw-text-opacity))
}

.text-red-900 {
	--tw-text-opacity: 1;
	color: rgb(127 29 29 / var(--tw-text-opacity))
}

.text-white {
	--tw-text-opacity: 1;
	color: rgb(255 255 255 / var(--tw-text-opacity))
}

.text-yellow-500 {
	--tw-text-opacity: 1;
	color: rgb(234 179 8 / var(--tw-text-opacity))
}

.text-yellow-600 {
	--tw-text-opacity: 1;
	color: rgb(202 138 4 / var(--tw-text-opacity))
}

.text-yellow-700 {
	--tw-text-opacity: 1;
	color: rgb(161 98 7 / var(--tw-text-opacity))
}

.text-yellow-800 {
	--tw-text-opacity: 1;
	color: rgb(133 77 14 / var(--tw-text-opacity))
}

.underline {
	text-decoration-line: underline
}

.opacity-0 {
	opacity: 0
}

.opacity-25 {
	opacity: .25
}

.opacity-50 {
	opacity: .5
}

.opacity-70 {
	opacity: .7
}

.opacity-75 {
	opacity: .75
}

.opacity-80 {
	opacity: .8
}

.opacity-90 {
	opacity: .9
}

.shadow {
	--tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
	--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color)
}

.shadow,
.shadow-inner {
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-inner {
	--tw-shadow: inset 0 2px 4px 0 #0000000d;
	--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color)
}

.shadow-lg {
	--tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
	--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color)
}

.shadow-lg,
.shadow-md {
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-md {
	--tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
	--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color)
}

.shadow-sm {
	--tw-shadow: 0 1px 2px 0 #0000000d;
	--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)
}

.shadow-sm,
.shadow-xl {
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
	--tw-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
	--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color)
}

.drop-shadow-md {
	--tw-drop-shadow: drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)
}

.drop-shadow-md,
.filter {
	filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.transition {
	transition-duration: .15s;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-all {
	transition-duration: .15s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-colors {
	transition-duration: .15s;
	transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-opacity {
	transition-duration: .15s;
	transition-property: opacity;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-transform {
	transition-duration: .15s;
	transition-property: transform;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-shadow {
	transition-duration: .15s;
	transition-property: box-shadow;
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.duration-1000 {
	transition-duration: 1s
}

.duration-200 {
	transition-duration: .2s
}

.duration-300 {
	transition-duration: .3s
}

.duration-500 {
	transition-duration: .5s
}

.ease-in-out {
	transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.hover\:-translate-y-1:hover {
	--tw-translate-y: -0.25rem;
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:\!bg-orange-500:hover {
	--tw-bg-opacity: 1 !important;
	background-color: rgb(249 115 22 / var(--tw-bg-opacity)) !important
}

.hover\:bg-amber-100:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(254 243 199 / var(--tw-bg-opacity))
}

.hover\:bg-blue-100:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(219 234 254 / var(--tw-bg-opacity))
}

.hover\:bg-blue-50:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(239 246 255 / var(--tw-bg-opacity))
}

.hover\:bg-blue-600:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(37 99 235 / var(--tw-bg-opacity))
}

.hover\:bg-blue-700:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(29 78 216 / var(--tw-bg-opacity))
}

.hover\:bg-gray-100:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(243 244 246 / var(--tw-bg-opacity))
}

.hover\:bg-gray-200:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(229 231 235 / var(--tw-bg-opacity))
}

.hover\:bg-gray-50:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(249 250 251 / var(--tw-bg-opacity))
}

.hover\:bg-gray-600:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(75 85 99 / var(--tw-bg-opacity))
}

.hover\:bg-green-600:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(22 163 74 / var(--tw-bg-opacity))
}

.hover\:bg-indigo-700:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(67 56 202 / var(--tw-bg-opacity))
}

.hover\:bg-orange-600:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(234 88 12 / var(--tw-bg-opacity))
}

.hover\:bg-orange-700:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(194 65 12 / var(--tw-bg-opacity))
}

.hover\:bg-red-100:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(254 226 226 / var(--tw-bg-opacity))
}

.hover\:bg-red-50:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(254 242 242 / var(--tw-bg-opacity))
}

.hover\:bg-red-700:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(185 28 28 / var(--tw-bg-opacity))
}

.hover\:bg-white:hover {
	--tw-bg-opacity: 1;
	background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.hover\:bg-white\/30:hover {
	background-color: #ffffff4d
}

.hover\:bg-opacity-30:hover {
	--tw-bg-opacity: 0.3
}

.hover\:\!text-white:hover {
	--tw-text-opacity: 1 !important;
	color: rgb(255 255 255 / var(--tw-text-opacity)) !important
}

.hover\:text-blue-800:hover {
	--tw-text-opacity: 1;
	color: rgb(30 64 175 / var(--tw-text-opacity))
}

.hover\:text-blue-900:hover {
	--tw-text-opacity: 1;
	color: rgb(30 58 138 / var(--tw-text-opacity))
}

.hover\:text-gray-300:hover {
	--tw-text-opacity: 1;
	color: rgb(209 213 219 / var(--tw-text-opacity))
}

.hover\:text-gray-800:hover {
	--tw-text-opacity: 1;
	color: rgb(31 41 55 / var(--tw-text-opacity))
}

.hover\:text-gray-900:hover {
	--tw-text-opacity: 1;
	color: rgb(17 24 39 / var(--tw-text-opacity))
}

.hover\:text-green-900:hover {
	--tw-text-opacity: 1;
	color: rgb(20 83 45 / var(--tw-text-opacity))
}

.hover\:text-purple-900:hover {
	--tw-text-opacity: 1;
	color: rgb(88 28 135 / var(--tw-text-opacity))
}

.hover\:text-red-700:hover {
	--tw-text-opacity: 1;
	color: rgb(185 28 28 / var(--tw-text-opacity))
}

.hover\:text-red-900:hover {
	--tw-text-opacity: 1;
	color: rgb(127 29 29 / var(--tw-text-opacity))
}

.hover\:text-white:hover {
	--tw-text-opacity: 1;
	color: rgb(255 255 255 / var(--tw-text-opacity))
}

.hover\:underline:hover {
	text-decoration-line: underline
}

.hover\:shadow-2xl:hover {
	--tw-shadow: 0 25px 50px -12px #00000040;
	--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color)
}

.hover\:shadow-2xl:hover,
.hover\:shadow-md:hover {
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-md:hover {
	--tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
	--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color)
}

.hover\:shadow-lg:hover {
	--tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
	--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.focus\:border-blue-500:focus {
	--tw-border-opacity: 1;
	border-color: rgb(59 130 246 / var(--tw-border-opacity))
}

.focus\:border-transparent:focus {
	border-color: #0000
}

.focus\:outline-none:focus {
	outline: 2px solid #0000;
	outline-offset: 2px
}

.focus\:ring-2:focus {
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-blue-500:focus {
	--tw-ring-opacity: 1;
	--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))
}

.group:hover .group-hover\:translate-x-1 {
	--tw-translate-x: 0.25rem
}

.group:hover .group-hover\:scale-105,
.group:hover .group-hover\:translate-x-1 {
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-105 {
	--tw-scale-x: 1.05;
	--tw-scale-y: 1.05
}

.group:hover .group-hover\:text-blue-500 {
	--tw-text-opacity: 1;
	color: rgb(59 130 246 / var(--tw-text-opacity))
}

.group:hover .group-hover\:text-red-500 {
	--tw-text-opacity: 1;
	color: rgb(239 68 68 / var(--tw-text-opacity))
}

.group:hover .group-hover\:text-yellow-500 {
	--tw-text-opacity: 1;
	color: rgb(234 179 8 / var(--tw-text-opacity))
}

.group:hover .group-hover\:opacity-100 {
	opacity: 1
}

@media (min-width:640px) {
	.sm\:col-span-2 {
		grid-column: span 2/span 2
	}

	.sm\:mr-2 {
		margin-right: .5rem
	}

	.sm\:mt-0 {
		margin-top: 0
	}

	.sm\:block {
		display: block
	}

	.sm\:inline {
		display: inline
	}

	.sm\:h-12 {
		height: 3rem
	}

	.sm\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}

	.sm\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr))
	}

	.sm\:flex-row {
		flex-direction: row
	}

	.sm\:items-center {
		align-items: center
	}

	.sm\:justify-between {
		justify-content: space-between
	}

	.sm\:gap-x-4 {
		-moz-column-gap: 1rem;
		column-gap: 1rem
	}

	.sm\:space-x-4>:not([hidden])~:not([hidden]) {
		--tw-space-x-reverse: 0;
		margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));
		margin-right: calc(1rem * var(--tw-space-x-reverse))
	}

	.sm\:self-auto {
		align-self: auto
	}

	.sm\:px-6 {
		padding-left: 1.5rem;
		padding-right: 1.5rem
	}

	.sm\:px-8 {
		padding-left: 2rem;
		padding-right: 2rem
	}

	.sm\:text-right {
		text-align: right
	}

	.sm\:text-3xl {
		font-size: 1.875rem;
		line-height: 2.25rem
	}

	.sm\:text-4xl {
		font-size: 2.25rem;
		line-height: 2.5rem
	}

	.sm\:text-base {
		font-size: 1rem;
		line-height: 1.5rem
	}

	.sm\:text-lg {
		font-size: 1.125rem;
		line-height: 1.75rem
	}
}

@media (min-width:768px) {
	.md\:col-span-1 {
		grid-column: span 1/span 1
	}

	.md\:col-span-2 {
		grid-column: span 2/span 2
	}

	.md\:col-span-3 {
		grid-column: span 3/span 3
	}

	.md\:col-span-4 {
		grid-column: span 4/span 4
	}

	.md\:mb-0 {
		margin-bottom: 0
	}

	.md\:mb-8 {
		margin-bottom: 2rem
	}

	.md\:flex {
		display: flex
	}

	.md\:hidden {
		display: none
	}

	.md\:h-16 {
		height: 4rem
	}

	.md\:h-80 {
		height: 20rem
	}

	.md\:w-4\/5 {
		width: 80%
	}

	.md\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}

	.md\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr))
	}

	.md\:grid-cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr))
	}

	.md\:grid-cols-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr))
	}

	.md\:flex-row {
		flex-direction: row
	}

	.md\:items-center {
		align-items: center
	}

	.md\:justify-start {
		justify-content: flex-start
	}

	.md\:space-x-1>:not([hidden])~:not([hidden]) {
		--tw-space-x-reverse: 0;
		margin-left: calc(.25rem * (1 - var(--tw-space-x-reverse)));
		margin-right: calc(.25rem * var(--tw-space-x-reverse))
	}

	.md\:space-x-2>:not([hidden])~:not([hidden]) {
		--tw-space-x-reverse: 0;
		margin-left: calc(.5rem * (1 - var(--tw-space-x-reverse)));
		margin-right: calc(.5rem * var(--tw-space-x-reverse))
	}

	.md\:space-x-8>:not([hidden])~:not([hidden]) {
		--tw-space-x-reverse: 0;
		margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));
		margin-right: calc(2rem * var(--tw-space-x-reverse))
	}

	.md\:space-y-0>:not([hidden])~:not([hidden]) {
		--tw-space-y-reverse: 0;
		margin-bottom: calc(0px * var(--tw-space-y-reverse));
		margin-top: calc(0px * (1 - var(--tw-space-y-reverse)))
	}

	.md\:p-8 {
		padding: 2rem
	}

	.md\:px-10 {
		padding-left: 2.5rem;
		padding-right: 2.5rem
	}

	.md\:px-2 {
		padding-left: .5rem;
		padding-right: .5rem
	}

	.md\:py-20 {
		padding-bottom: 5rem;
		padding-top: 5rem
	}

	.md\:py-4 {
		padding-bottom: 1rem;
		padding-top: 1rem
	}

	.md\:text-left {
		text-align: left
	}

	.md\:text-2xl {
		font-size: 1.5rem;
		line-height: 2rem
	}

	.md\:text-4xl {
		font-size: 2.25rem;
		line-height: 2.5rem
	}

	.md\:text-5xl {
		font-size: 3rem;
		line-height: 1
	}

	.md\:text-base {
		font-size: 1rem;
		line-height: 1.5rem
	}

	.md\:text-lg {
		font-size: 1.125rem;
		line-height: 1.75rem
	}

	.md\:text-sm {
		font-size: .875rem;
		line-height: 1.25rem
	}

	.md\:text-xl {
		font-size: 1.25rem;
		line-height: 1.75rem
	}
}

@media (min-width:1024px) {
	.lg\:mb-16 {
		margin-bottom: 4rem
	}

	.lg\:mt-0 {
		margin-top: 0
	}

	.lg\:mt-12 {
		margin-top: 3rem
	}

	.lg\:h-96 {
		height: 24rem
	}

	.lg\:w-3\/4 {
		width: 75%
	}

	.lg\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}

	.lg\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr))
	}

	.lg\:grid-cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr))
	}

	.lg\:grid-cols-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr))
	}

	.lg\:gap-10 {
		gap: 2.5rem
	}

	.lg\:gap-12 {
		gap: 3rem
	}

	.lg\:space-x-6>:not([hidden])~:not([hidden]) {
		--tw-space-x-reverse: 0;
		margin-left: calc(1.5rem * (1 - var(--tw-space-x-reverse)));
		margin-right: calc(1.5rem * var(--tw-space-x-reverse))
	}

	.lg\:p-10 {
		padding: 2.5rem
	}

	.lg\:px-8 {
		padding-left: 2rem;
		padding-right: 2rem
	}

	.lg\:py-10 {
		padding-bottom: 2.5rem;
		padding-top: 2.5rem
	}

	.lg\:py-12 {
		padding-bottom: 3rem;
		padding-top: 3rem
	}

	.lg\:pb-16 {
		padding-bottom: 4rem
	}

	.lg\:pt-12 {
		padding-top: 3rem
	}

	.lg\:text-6xl {
		font-size: 3.75rem;
		line-height: 1
	}
}

@media (min-width:1280px) {
	.xl\:text-7xl {
		font-size: 4.5rem;
		line-height: 1
	}
}

[data-media-modal=true] {
	width: auto !important;
	height: auto !important;
	max-width: 90vw !important;
	max-height: 80vh !important;
	padding: 1rem !important
}

[data-media-modal=true] .modal-content,
[data-media-modal=true]>div {
	width: auto !important;
	height: auto !important;
	max-width: 90vw !important;
	max-height: 80vh !important
}

@media (max-width:768px) {
	[data-media-modal=true] {
		max-width: 95vw !important;
		max-height: 70vh !important
	}
}

.fa-flag-checkered:before {
	content: "\f11e"
}

.fa-heartbeat:before,
.fa-heart-pulse:before {
	content: "\f21e"
}

.fa-lightbulb:before {
	content: "\f0eb"
}

.fa-photo-video:before,
.fa-photo-film:before {
	content: "\f87c"
}

/* ============================================
   SEZIONE SPONSOR & PARTNERS
   ============================================ */

/* --- 1. TITOLO STICKY GIANT --- */
.title-partners {
	font-size: clamp(2rem, 12vw, 16rem) !important;
	letter-spacing: clamp(0.1em, 4vw, 0.6em) !important;
	line-height: 0.8 !important;
	display: block !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: clip;
	margin-bottom: 0 !important;

	position: -webkit-sticky;
	position: sticky !important;
	top: 0;

	z-index: 0 !important;
	color: rgba(var(--colore-secondario-rgb), 0.12);
}

.content-wrapper {
	position: relative;
	z-index: 10;
	background-color: transparent;
}

/* --- 2. CONTENITORI GRIGLIA --- */
#sponsors-section .w-full {
	max-width: 100% !important;
}

#sponsors-grid {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.sponsors-flex-container {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-evenly !important;
	row-gap: 3rem !important;
	column-gap: 2rem;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 0;
}

/* --- 3. CARD SPONSOR --- */
.sponsor-card {
	position: relative;
	z-index: 1;
	background-color: transparent !important;
	width: 280px;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

/* Card tapped va SOPRA le altre */
.sponsor-card.tapped {
	z-index: 100;
}

/* --- 4. LOGO SPONSOR --- */
.sponsor-logo {
	display: block;
	max-width: 100%;
	max-height: 160px;
	width: auto;
	height: auto;
	object-fit: contain;
	z-index: 1;
	opacity: 0.6;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
	will-change: transform, opacity, filter;
}

/* --- 5. SLOGAN (pillola) --- */
.sponsor-slogan {
	position: absolute;
	bottom: -40px;
	background: var(--colore-secondario);
	color: white !important;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 600;
	opacity: 0;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	-webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
	z-index: 200;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

/* --- 6. LINK DENTRO LA CARD --- */
.sponsor-card a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	z-index: 2;
}

/* ============================================
   DESKTOP (mouse)
   ============================================ */
@media (hover: hover) and (pointer: fine) {
	.sponsor-card:hover {
		z-index: 100;
	}

	.sponsor-card:hover .sponsor-logo {
		-webkit-filter: grayscale(0%);
		filter: grayscale(0%);
		opacity: 1;
		-webkit-transform: translateZ(0) scale(1.1);
		transform: translateZ(0) scale(1.1);
	}

	.sponsor-card:hover .sponsor-slogan {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

/* ============================================
   MOBILE (touch) - Stati tapped
   ============================================ */
@media (hover: none) and (pointer: coarse) {

	/* Stato tapped: logo a colori e ingrandito */
	.sponsor-card.tapped .sponsor-logo {
		-webkit-filter: grayscale(0%);
		filter: grayscale(0%);
		opacity: 1;
		-webkit-transform: translateZ(0) scale(1.08);
		transform: translateZ(0) scale(1.08);
	}

	/* Stato tapped: slogan visibile */
	.sponsor-card.tapped .sponsor-slogan {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

/* ============================================
   RESPONSIVE (schermi piccoli)
   ============================================ */
@media (max-width: 640px) {
	.sponsor-card {
		width: 160px;
		height: 110px;
		padding: 10px;
		margin-bottom: 30px;
	}

	.sponsor-logo {
		max-height: 80px;
	}

	.sponsors-flex-container {
		justify-content: center !important;
		gap: 1.5rem !important;
	}

	.sponsor-slogan {
		font-size: 0.6rem;
		padding: 2px 6px;
		bottom: -25px;
	}
}

/* ============================================
   ARCHIVIO NEWS - GRIGLIA MODERNA 2x4
   ============================================ */

.archive-grid-modern {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	margin-bottom: 1.5rem;
	/* NUOVO */
}

@media (max-width: 768px) {
	.archive-grid-modern {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

/* Card moderna orizzontale */
.archive-card-modern {
	background: #fff;
	border-radius: 0.75rem;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border: 1px solid #e5e7eb;
	transition: all 0.25s ease;
}

.archive-card-modern:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	border-color: var(--colore-primario);
	transform: translateY(-2px);
}

.archive-card-link {
	display: flex;
	gap: 1rem;
	padding: 0.875rem;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

/* Immagine card */
.archive-card-image {
	flex-shrink: 0;
	width: 100px;
	height: 80px;
	border-radius: 0.5rem;
	overflow: hidden;
	background-color: #f3f4f6;
}

.archive-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.archive-card-modern:hover .archive-card-image img {
	transform: scale(1.08);
}

/* Contenuto card */
.archive-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	/* Permette truncate */
}

.archive-card-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--colore-secondario);
	line-height: 1.3;
	margin: 0 0 0.375rem 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}

.archive-card-modern:hover .archive-card-title {
	color: var(--colore-primario);
}

.archive-card-meta {
	font-size: 0.7rem;
	color: #6b7280;
	margin-bottom: 0.375rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.archive-card-summary {
	font-size: 0.8rem;
	color: #4b5563;
	line-height: 1.4;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Mobile: card ORIZZONTALE (foto sx, testo dx) */
@media (max-width: 480px) {
	.archive-card-link {
		flex-direction: row;
		/* ✅ non più column */
		align-items: stretch;
		gap: 0.75rem;
		padding: 0.75rem;
	}

	.archive-card-image {
		width: 92px;
		/* ✅ più compatta */
		height: 92px;
		/* ✅ quadrata */
		border-radius: 0.5rem;
	}

	.archive-card-title {
		font-size: 0.9rem;
		/* ✅ leggermente più piccolo */
		line-height: 1.15rem;
		-webkit-line-clamp: 2;
	}

	.archive-card-meta {
		font-size: 0.68rem;
		margin-bottom: 0.3rem;
	}

	.archive-card-summary {
		font-size: 0.78rem;
		line-height: 1.1rem;
		-webkit-line-clamp: 2;
		/* ✅ resta compatta */
	}
}

/* FIX iPhone: i bottoni paginazione devono reagire al primo tap */
.archive-pagination-btn {
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.sticky-parent-container {
	position: relative;
}

/* il titolo sticky deve stare "dietro" alle card */
.sticky-parent-container .sticky-title {
	position: sticky;
	/* già lo hai, ok */
	top: 0;
	/* o il tuo valore */
	z-index: 0;
	pointer-events: none;
	/* evita click strani sopra le card */
}

/* il contenuto deve stare sopra */
.sticky-parent-container .content-wrapper {
	position: relative;
	z-index: 10;
}

#hero {
            background-color: white !important;
        }
