.carousel-cell {
	width: 75vw;
	display: block;
}

.dots-block {
	display: flex;
	justify-content: flex-end;
}

.dots {
	display: block;
	width: var(--unit);height: var(--unit);
	border: 1px solid var(--text);
	border-radius: 50%;
	margin-top: 3px;
	margin-right: 10px;
}

.area-dots {
	padding: var(--unit);
}

.area-dots li {
	display: flex;
	margin-bottom: var(--unit);
}

.area-dots li p {
	padding: 0;
}

.area-tab {
	display: flex;
	flex-direction: row-reverse;
}

.tab {
	width: 25vw;
	min-width: 25vw;
	padding: calc(var(--unit) - 5px);
}

.tab button {
	display: block;
	background-color: transparent;
	font-family: var(--font);
	text-align: left;
	font-size: calc(var(--unit) + 5px);
	border: none;
	margin-bottom: calc(var(--unit) * 2);
	cursor: pointer;
}

.tab button {
	color: var(--text);
}

.tab button.active {
	color: var(--red);
}

.image-box {
	display: block;
	height: 100%;
	padding: var(--unit);
}


@media only screen 
  and (min-width: 1024px) 
  and (max-height: 1366px) 
  and (-webkit-min-device-pixel-ratio: 1.5) {
	.tab button {
		font-size: calc(var(--unit) - 3px);
	}
}

@media screen and (max-width: 65rem) {
	.area-tab {
		display: flex;
		flex-direction: column;
	}
	.tab {
		width: 100%;
		min-width: 100%;
		padding: calc(var(--unit) - 5px);
	}
	.tab button {
		font-size: 16px;
		padding: 0;
		margin-bottom: 20px;
	}
	.carousel-cell {
		width: 100%;
		display: block;
	}
}

.flex-modules {
	padding: var(--unit);
}

.flex-modules-l {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
	grid-gap: var(--unit);
}

.flex-modules figcaption {
	line-height: 1.1;
}

.flex-modules span {
	display: block;
	text-transform: uppercase;
	margin-top: var(--unit);
	margin-bottom: 1em;
}

.flex-modules-l li {
	padding: var(--unit);
}

.flex-modules-l figure {
	padding: var(--unit);
}

@media screen and (max-width: 65rem) {
	.flex-modules-l li, .flex-modules-l figure {
		padding: 0;
	}
	.flex-modules-l {
		grid-row-gap: calc(var(--unit) * 3);
	}
}




