/* Frontpage */

#carousel { position: relative; margin-bottom: 120px; width: 100%; overflow: hidden; margin: 0 0 120px 0; }
#carousel__inner { position: relative; display: flex; }
#carousel__inner.animate { transition: left 1s; }

.carousel__item { display: block; position: relative; border: none; margin-bottom: 20px; overflow: hidden; padding-bottom: 50px; margin-left: 20px; }
.carousel__item h3, .carousel__item p.inline { display: inline; font-size: 2.2rem; line-height: 3rem; }
.carousel__item h3 { font-family: JMBProBl, sans-serif; }
.carousel__item p.label { font-family: JMBProM, sans-serif; font-size: 1.6rem; line-height: 1.8rem; position: absolute; bottom: 0; left: 0; margin-bottom: 0; }
.carousel__item figure { position: revert; }

@media only screen and (max-width: 960px) {
	.carousel-item h3, .carousel-item p.inline { font-size: 1.9rem; line-height: 2.6rem; }
}

@media only screen and (max-width: 590px) {
	.carousel-item h3, .carousel-item p.inline { font-size: 1.6rem; line-height: 2.2rem; }
}

.carousel__link { border: none; }
.carousel__link:hover, .carousel__link:focus-visible { border-bottom: 1px solid black; }

.w652 { flex: 0 0 652px; }
.w460 { flex: 0 0 460px; }
.w364 { flex: 0 0 364px; }

@media only screen and (max-width: 960px) {
	.w652 { flex: 0 0 489px; }
	.w460 { flex: 0 0 345px; }
	.w364 { flex: 0 0 273px; }
}

@media only screen and (max-width: 590px) {
  .w652 { flex: 0 0 calc(100% - 40px); }
	.w460 { flex: 0 0 calc(100% - 40px); }
	.w364 { flex: 0 0 calc(100% - 40px); }
  img { width: 100%; height: auto; }
}

.carousel__quad { display: none; }
.carousel__desk { display: block; }

@media only screen and (max-width: 590px) {
	.carousel__quad { display: block; }
  .carousel__desk { display: none; }
}

.carousel__btn { position: absolute; top: 190px; left: 0; margin: 0 auto; padding: 10px; width: 100%; width: 80px; height: 80px; }
.carousel__prev { left: 130px; }
.carousel__next { left: auto; right: 15px; }
.carousel__btn svg { width: 60px; height: 60px; }
.carousel__btn svg circle { fill: white; opacity: 1.0; }
.carousel__btn svg polygon { fill: black; opacity: 1.0; }
.carousel__btn:hover svg circle, .carousel__btn:active svg circle, .carousel__btn:focus-visible svg circle { fill: #FF2346; }
.carousel__btn:hover svg polygon, .carousel__btn:active svg polygon, .carousel__btn:focus-visible svg polygon { fill: white; }

@media only screen and (max-width: 960px) {
	.carousel__btn { top: 132px;  }
	.carousel__prev { left: 10px; }
	.carousel__next { right: 10px; }
}

@media only screen and (max-width: 590px) {
  .carousel__btn { width: 60px; height: 60px; padding: 5px; top: 0; margin-top: calc(50% - 40px); }
  .carousel__btn svg { width: 50px; height: 50px; }
  .carousel__prev { left: 20px; }
  .carousel__next { right: 20px; }
}

#carousel.no-js { width: calc(100% - 40px); overflow-x: scroll; margin: 0 20px 120px 20px; }
#carousel.no-js #carousel-inner { margin-bottom: 20px; }
#carousel.no-js .carousel__item:first-child { margin-left: 0; }
#carousel.no-js .carousel__btn { display: none; }
@media only screen and (max-width: 590px) {
  #carousel.no-js .w652 { flex: 0 0 calc(100%); }
	#carousel.no-js .w460 { flex: 0 0 calc(100%); }
	#carousel.no-js .w364 { flex: 0 0 calc(100%); }
}