:root {
	--rotate-speed: 40;
	--count: 8; /* Default count, the DOM element should override this */
	--easeInOutSine: cubic-bezier(0.37, 0, 0.63, 1);
	--easing: cubic-bezier(0.000, 0.37, 1.000, 0.63);
}

body {
	margin: 0;
}

.void {
	width: 100%;
	max-width: 54vw;
	margin: auto;
	position: relative;
	aspect-ratio: 1 / 1;
}
ul:hover * {
	-webkit-animation-play-state: paused;
	        animation-play-state: paused;
}
ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	outline: 2px dotted magenta;
	z-index: 1;
}
li {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
/* 	outline: 2px dashed cyan; */
	width: 100%;
	-webkit-animation: rotateCW calc(var(--rotate-speed) * 1s) var(--easing) infinite;
	        animation: rotateCW calc(var(--rotate-speed) * 1s) var(--easing) infinite;
}
.card {
	width: 30%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 1.25vw;
	gap: 8px;
	background: #FFFFFF;
	box-shadow: 0px 0.208vw 0.625vw rgba(0, 0, 0, 0.1), 0vw 0.833vw 1.667vw rgba(0, 0, 0, 0.1);
	border-radius: 0.625vw;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-size: 0.833vw;
	line-height: 1vw;
	color: #576A29;
	-webkit-animation: rotateCCW calc(var(--rotate-speed) * 1s) var(--easing) infinite;
	        animation: rotateCCW calc(var(--rotate-speed) * 1s) var(--easing) infinite;
}
a {
	text-decoration: none;
	color: unset;
}
.model-name {
	font-weight: 500;
	font-size: 1vw;
	line-height: 150%;
	color: #AACE50;
	display: block;
}
svg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

li:nth-child(2), li:nth-child(2) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -1s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -1s);
}
li:nth-child(3), li:nth-child(3) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -2s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -2s);
}
li:nth-child(4), li:nth-child(4) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -3s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -3s);
}
li:nth-child(5), li:nth-child(5) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -4s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -4s);
}
li:nth-child(6), li:nth-child(6) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -5s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -5s);
}
li:nth-child(7), li:nth-child(7) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -6s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -6s);
}
li:nth-child(8), li:nth-child(8) .card {
	-webkit-animation-delay: calc((var(--rotate-speed)/var(--count)) * -7s);
	        animation-delay: calc((var(--rotate-speed)/var(--count)) * -7s);
}

@-webkit-keyframes rotateCW {
	from {
		transform: translate3d(0px, -50%, -1px) rotate(-45deg);
	}
	to {
		transform: translate3d(0px, -50%, 0px) rotate(-315deg);
	}
}

@keyframes rotateCW {
	from {
		transform: translate3d(0px, -50%, -1px) rotate(-45deg);
	}
	to {
		transform: translate3d(0px, -50%, 0px) rotate(-315deg);
	}
}
@-webkit-keyframes rotateCCW {
	from {
		transform: rotate(45deg);
	}
	to {
		transform: rotate(315deg);
	}
}
@keyframes rotateCCW {
	from {
		transform: rotate(45deg);
	}
	to {
		transform: rotate(315deg);
	}
}
@-webkit-keyframes pulseGlow {
	from {
		background-size: 60%;
	}
	to {
		background-size: 100%;
	}
}
@keyframes pulseGlow {
	from {
		background-size: 60%;
	}
	to {
		background-size: 100%;
	}
}

.center-circle {
	position: absolute;
	width: 11.979vw;
	aspect-ratio: 1 / 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #FFFFFF;
	box-shadow: 0px 0.938vw 1.875vw -938vw rgba(45, 54, 21, 0.3), 0vw 1.563vw 3.125vw 0.625vw rgba(45, 54, 21, 0.25);
	border-radius: 50%;
}
.second-circle {
	position: absolute;
	width: 40%;
	aspect-ratio: 1 / 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #F5F4FE;
	opacity: 0.5;
	box-shadow: 0px 18px 36px -18px rgba(45, 54, 21, 0.3), 0px 30px 60px -12px rgba(45, 54, 21, 0.25);
	border-radius: 50%;
}
.last-circle {
	position: absolute;
	width: 66%;
	aspect-ratio: 1 / 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #F5F4FE;
	opacity: 0.25;
	box-shadow: 0px 18px 36px -18px rgba(45, 54, 21, 0.3), 0px 30px 60px -12px rgba(45, 54, 21, 0.25);
	border-radius: 50%;
}
.crop {
	-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1));
}
.mask {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	-webkit-animation: pulseGlow 5s linear infinite alternate;
	        animation: pulseGlow 5s linear infinite alternate;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-image: radial-gradient(100% 50% at 100% 50%, rgba(87, 106, 41, 0.25) 0%, rgba(87, 106, 41, 0.247904) 11.79%, rgba(136, 165, 64, 0.241896) 21.38%, rgba(134, 165, 64, 0.2324) 29.12%, rgba(132, 165, 64, 0.219837) 35.34%, rgba(130, 165, 64, 0.20463) 40.37%, rgba(128, 165, 64, 0.1872) 44.56%, rgba(126, 165, 64, 0.16797) 48.24%, rgba(124, 165, 64, 0.147363) 51.76%, rgba(122, 165, 64, 0.1258) 55.44%, rgba(120, 165, 64, 0.103704) 59.63%, rgba(118, 165, 64, 0.0814963) 64.66%, rgba(116, 165, 64, 0.0596) 70.88%, rgba(114, 165, 64, 0.038437) 78.62%, rgba(112, 165, 64, 0.0184296) 88.21%, rgba(110, 165, 64, 0) 100%);
}
.mask:after {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	right: 0;
	display: block;
	background-image: linear-gradient(180deg, rgba(60, 26, 229, 0) 0%, #3C1AE5 50%, rgba(60, 26, 229, 0) 100%);
}

/*header*/

.header {
  overflow: hidden;
  background-color: #ffffff;
  padding: 0.625vw;
  font-family: "Montserrat";
}

/* Style the header links */
.header a {
  float: left;
  color: black;
  text-align: center;
  padding:  0.4vw;
  text-decoration: none;
  font-size: 1.042vw;
  line-height:  0.833vw;
  border-radius: 0.15em;
}


/* Style the logo link (notice that we set the same value of line-height and font-size to prevent the header to increase when the font gets bigger */
.header a.logo {
  font-size:  0.833vw;
  font-weight: bold;
}

/* Change the background color on mouse-over */
.header a:hover {
  background-color: #f1f1f1;
  color: black;
}

/* Style the active/current link*/
.header a.active {
  background-color: #f1f1f1;
  color: #AACE50;
}

/* Style the visited link*/
.header a.visited {
  background-color: white;
  color: black;
}

/* Float the link section to the right */
.header-right {
  float: right;
}


/* Add media queries for responsiveness - when the screen is 500px wide or less, stack the links on top of each other */
@media screen and (max-width: 54vw) {
  .header a {
    float: none;
    display: block;
    text-align: left;
  }
  .header-right-column {
    float: none;
  }
}


/* Container for flexboxes */
.row {
  display: -webkit-flex;
  display: flex;
}

/* Create three equal columns that sits next to each other */
.column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding:  0.75vw;
  font-size:  1.042vw;
  /*height: 300px;  Should be removed. Only for demonstration */
}

/* Style the footer */
.footer {
  background-color: #f1f1f1;
  padding: 0.4vw;
  text-align: center;
  font-size: 1vw;
}

.msg {
  background-color: #ffffff;
  padding: 0.4vw;
  text-align: left;
  font-size: 1vw;
}