/* Basic styling for Swiper slider */

.home-slider {
  width: 100%;
  position: relative;
  height: -webkit-fill-available;
  height: calc(100vh - 180px);
  height: calc(100svh - 180px);
  height: calc(100dvh - 180px);
}

.home-slider .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  height: 100%;         /* fill the container */
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
}

.home-slider .slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-slider .slide-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  top: calc(50% - 40px);
  left: 0;
  width: 100%;
  height: 80px;
  padding: 0 3rem;
  color: #fff;
  text-shadow: 0 1px 1px rgba(0,0,0,0.35);
  z-index: 2;
  text-align: center;
  border-radius: 1.5rem;
  text-decoration: none;
}

.home-slider .swiper-slide picture,
.home-slider .swiper-slide picture img,
.home-slider .swiper-slide .slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper:not(.our_sponsors-sponsor-slider) .swiper-slide img.slide-image {
  width: 100%;
  aspect-ratio: 1024 / 574; /* match your actual image ratio */
  object-fit: cover;
}

.slide-content h2 {
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 800;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, .75);
}

.home-slider .slide-content h2 {
  font-family: var(--slider-heading);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 1.25rem);
  right: auto;
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 1.25rem);
  left: auto;
}

.slider-click-here {
  margin: .25rem 0 0;
  letter-spacing: .125rem;
  font-size: .75rem;
  font-weight: bold;
  text-transform: capitalize;
}

.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}

.swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-button-next:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  font-size: 1.25rem;
}

/* all sliders except the home one */
.swiper:not(.home-slider) {
  margin: 1.5rem -1.5rem;
}

.swiper:not(.home-slider) .swiper-pagination-bullet {
  background-color: #333;
}

.swiper:not(.home-slider) .slide-content {
  margin: .75rem 1.5rem 4.5rem;
}

.swiper:not(.home-slider) .slide-content > h2 {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5rem;
  letter-spacing: 0;
}

.swiper:not(.home-slider) .slide-content > .slide-meta {
  margin: .75rem 0 0;
  font-weight: bold;
}

.swiper:not(.home-slider) .slide-content > .slide-meta span {
  color: #777;
}

.swiper:not(.home-slider) .slide-content > .slide-description {
  margin: 0 0 1.25rem;
}

.swiper:not(.home-slider) .slide-content > .slide-contact a {
  font-weight: bold;
}

.swiper:not(.home-slider) .slide-content > .slide-featured-image img {
  max-width: 150px;
  height: auto;
  margin-top: .75rem;
}

.swiper:not(.home-slider) .swiper-button-next,
.swiper:not(.home-slider) .swiper-button-prev {
  color: #fff;
}

.swiper-slide {
  position: relative;
}

.slide-spinner {
  position: absolute;
  top: 50%; left: 50%;
  width: 30px; height: 30px;
  margin: -15px 0 0 -15px;
  border: 4px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  display: none;
  z-index: 10;
}

.slide-sticker {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 2rem;
  right: 2rem;
  background-color: #195670;
  color: #fff;
  font-weight: bold;
  font-size: .875rem;
  width: 130px;
  height: 130px;
  text-align: center;
  border-radius: 50%;
  z-index: 2;
  box-shadow: 5px 5px 2px 0px #a69a7c;
}

@keyframes spinner {
  to { transform: rotate(360deg); }
}


/*

SPONSORS

*/

#our-sponsors .section-content,
#nuestros-patrocinadores .section-content,
#onze-sponsors .section-content,
#unsere-sponsoren .section-content,
#nos-sponsors .section-content {
  height: 100vh;
}

.our_sponsors-sponsor-slider {
  height: calc(100% - 11rem);
}

.our_sponsors-sponsor-slider .swiper-slide {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.our_sponsors-sponsor-slider .swiper-slide img {
  width: auto;
  max-width: 180px;
  height: auto;
}


/*

All events page

*/
.slide-category-title {
	font-size: 1.25rem;
	margin: 1rem 0 0;
}

.slide-titles {
	margin: 0;
	padding: 0;
	list-style: none;
}

.slide-titles-none {
	margin: 0;
}


@media (min-width: 768px) {
	.home-slider {
		height: calc(100vh - 140px);
		height: calc(100svh - 140px);
		height: calc(100dvh - 140px);
	}

	.home-slider .slide-content {
	  top: calc(50% - 80px);
	  height: 160px;
	}

	.slide-content h2 {
	  font-size: 2.75rem;
	  line-height: 3.75rem;
	}

	.slide-sticker {
		top: 6rem;
		right: calc(50% - 18rem);
	}
}