* {
	box-sizing: border-box;
}

@font-face {
	font-family: 'Urbanist';
	font-style: normal;
	font-weight: 100 900;
	src: url('fonts/Urbanist-VariableFont_wght.ttf') format('truetype-variations');
}

:root {
	--ds-orange-1: #f6a015;
	--ds-orange-2: #e95e0f;
	--ds-white: #ffffff;
	--ds-black: #000000;
	--ds-gray-1: #d9d9d9;

	--ds-segment-1: #f9bf00;
	--ds-segment-2: #7d4182;
	--ds-segment-3: #006398;
	--ds-segment-4: #4e9e34;
	--ds-segment-5: #00b6df;
	--ds-segment-6: #bd3a49;

	--ds-wheel-size: 808px;
	--ds-wheel-radius: calc(var(--ds-wheel-size) / 2);
	/* half-width of a 30deg triangle at given radius: tan(15deg) * radius */
	--ds-segment-side: calc(tan(15deg) * var(--ds-wheel-radius));
}

html {
	background: linear-gradient(344deg, var(--ds-orange-2) 0%, var(--ds-orange-1) 100%);
	background-size: cover;
	min-height: 100%;
}

body {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-family: 'Urbanist', 'Work Sans', sans-serif !important;
	margin: 0;
	min-height: 1920px;
	overflow-x: hidden;
}

body * {
	font-family: 'Urbanist', 'Work Sans', sans-serif !important;
}

.ds-bg {
	background: url('images/BG.svg') center / cover no-repeat;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

.ds-logo {
	align-self: flex-start;
	background: url('images/logo-bg.svg');
	background-position: left top;
	background-repeat: no-repeat;
	min-height: 276px;
	min-width: 345px;
}

.ds-logo img {
	left: 55px;
	position: relative;
	top: 40px;
}

.ds-header {
	color: var(--ds-white);
	font-weight: 700;
	text-align: center;
}

.ds-header h1 {
	font-size: 130px;
	margin: 0;
	padding: 0;
}

.ds-header p {
	font-size: 40px;
	margin: 0;
}

.ds-arrow {
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%, -27%);
	z-index: 3;
}

.ds-wheel-wrapper {
	border-radius: 50%;
	box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.25);
	flex-shrink: 0;
	height: var(--ds-wheel-size);
	margin-top: 95px;
	position: relative;
	width: var(--ds-wheel-size);
}

.ds-wheel {
	background: var(--ds-white);
	border: 15px solid var(--ds-white);
	border-radius: 50%;
	height: var(--ds-wheel-size);
	left: 0;
	margin-left: 0;
	margin-top: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: var(--ds-wheel-size);
}

.ds-wheel__segment {
	border: 0 solid transparent;
	border-left-width: var(--ds-segment-side);
	border-right-width: var(--ds-segment-side);
	height: 0;
	left: 50%;
	margin-left: calc(var(--ds-segment-side) * -1);
	position: absolute;
	transform-origin: 50% 100%;
	width: 0;
}

/* doesn't look right, disabled for now
.ds-wheel__segment--active {
	filter: drop-shadow(2px 0 0 var(var(--ds-white))) drop-shadow(-2px 0 0 var(var(--ds-white))) drop-shadow(0 2px 0 var(var(--ds-white)))
		drop-shadow(0 -2px 0 var(var(--ds-white)));
	z-index: 9;
}
*/

.ds-wheel__segment:nth-of-type(1) {
	--ds-segment-angle: 0deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-1);
	transform: rotate(var(--ds-segment-angle));
}

.ds-wheel__segment:nth-of-type(2) {
	--ds-segment-angle: 30deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-2);
	transform: rotate(var(--ds-segment-angle));
}

.ds-wheel__segment:nth-of-type(3) {
	--ds-segment-angle: 60deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-3);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(4) {
	--ds-segment-angle: 90deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-4);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(5) {
	--ds-segment-angle: 120deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-5);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(6) {
	--ds-segment-angle: 150deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-6);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(7) {
	--ds-segment-angle: 180deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-1);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(8) {
	--ds-segment-angle: 210deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-2);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(9) {
	--ds-segment-angle: 240deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-3);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(10) {
	--ds-segment-angle: 270deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-4);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(11) {
	--ds-segment-angle: 300deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-5);
	transform: rotate(var(--ds-segment-angle));
}
.ds-wheel__segment:nth-of-type(12) {
	--ds-segment-angle: 330deg;
	border-top: var(--ds-wheel-radius) solid var(--ds-segment-6);
	transform: rotate(var(--ds-segment-angle));
}

.ds-wheel__segment img {
	height: calc(var(--ds-wheel-radius) * 0.3);
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: calc(var(--ds-wheel-radius) * -0.95);
	/* cancel out the parent segment's rotation so the icon keeps its original artwork orientation */
	transform: translateX(-50%) rotate(calc((var(--ds-segment-angle) + 15deg) * -1));
	width: calc(var(--ds-wheel-radius) * 0.3);
}

/* these icons sit visually closer to the outer rim, so pull them in a bit */

.ds-wheel__segment:nth-of-type(3) img,
.ds-wheel__segment:nth-of-type(5) img {
	top: calc(var(--ds-wheel-radius) * -0.9);
}

.ds-wheel__segment:nth-of-type(4) img,
.ds-wheel__segment:nth-of-type(6) img,
.ds-wheel__segment:nth-of-type(7) img,
.ds-wheel__segment:nth-of-type(8) img,
.ds-wheel__segment:nth-of-type(9) img,
.ds-wheel__segment:nth-of-type(10) img {
	top: calc(var(--ds-wheel-radius) * -0.85);
}

.ds-wheel__segment:nth-of-type(1) img,
.ds-wheel__segment:nth-of-type(7) img {
	height: calc(var(--ds-wheel-radius) * 0.35);
}

.ds-wheel__segment:nth-of-type(3) img,
.ds-wheel__segment:nth-of-type(9) img,
.ds-wheel__segment:nth-of-type(4) img,
.ds-wheel__segment:nth-of-type(10) img {
	width: calc(var(--ds-wheel-radius) * 0.4);
}

.ds-reset-btn {
	align-items: center;
	background: var(--ds-white);
	border: none;
	border-radius: 20px;
	color: var(--ds-black);
	display: flex;
	filter: drop-shadow(0 20px 20px rgba(0, 0, 0, 0.25));
	font-size: 50px;
	font-weight: 700;
	justify-content: center;
	margin-top: 68px;
	min-width: 426px;
	padding: 25px 20px;
}

.ds-reset-btn:focus {
	outline: none;
}

.ds-reset-btn {
	transition:
		transform 0.1s ease,
		filter 0.1s ease;
}

.ds-info-btn {
	background-color: var(--ds-white);
	border: none;
	border-radius: 20px;
	color: var(--ds-black);
	cursor: pointer;
	font-size: 30px;
	font-weight: 700;
	height: 68px;
	margin-top: 68px;
	width: 265px;
}

.ds-info-btn:active,
.ds-reset-btn:active {
	filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.2));
	transform: scale(0.96);
}

@media (hover: hover) and (pointer: fine) {
	.ds-info-btn:hover,
	.ds-reset-btn:hover {
		cursor: pointer;
		filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.3));
	}
}

.ds-modal {
	align-items: center;
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}

.ds-modal[hidden] {
	display: none;
}

.ds-modal__overlay {
	background: rgba(0, 0, 0, 0.85);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ds-modal__box {
	background: var(--ds-white);
	border-radius: 20px;
	max-width: 600px;
	padding: 50px 60px;
	position: relative;
	width: 90%;
	z-index: 1;
}

.ds-modal__box h2 {
	font-size: 40px;
	margin: 0 0 30px;
}

.ds-modal__box ol {
	font-size: 28px;
	line-height: 1.6;
	margin: 0;
	padding-left: 30px;
}

.ds-modal__close {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 50px;
	line-height: 1;
	position: absolute;
	right: 20px;
	top: 10px;
}
