:root {
	--resume-line-size: 1px;
	--resume-triangle-size: 15px;
	--resume-point-size: 11px;
	--resume-pointer-offset: 80px;
}

main #experience {
	padding: calc(1.5 * var(--layout-spacing)) 0;
	z-index: 2;
}

main #experience h2 {
	text-align: center;
}

main #experience #resume {
	position: relative;
}

main #experience #resume:after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 50%;
	border-left: var(--resume-line-size) solid var(--color-accent);
	transform: translate(-50%);
}

main #experience #resume .resume-item {
	width: calc(50% - var(--layout-spacing) - var(--resume-line-size) - var(--resume-triangle-size) - var(--resume-point-size) / 2);
	padding: calc(var(--layout-spacing) / 2);
	margin-bottom: var(--layout-spacing);
	border-radius: 6px;
	border: 1px solid var(--color-border);
	background-color: #ffffff;
}

main #experience #resume .resume-item .logo {
	margin-bottom: calc(var(--layout-spacing) / 4);
	padding-bottom: calc(var(--layout-spacing) / 4);
	display: block;
	border-bottom: 1px solid var(--color-border);
}

main #experience #resume .resume-item .logo img {
	height: var(--fontsize-base);
}

main #experience #resume .resume-item .resume-item-content {
	display: grid;
	grid-template-columns: 25px 1fr;
	gap: calc(var(--layout-spacing) / 4);
}

main #experience #resume .resume-item .resume-item-content .key {
	text-align: center;
}

main #experience #resume .resume-item .resume-item-content .key span {
	color: var(--color-font-light);
}

main #experience #resume .resume-item .job {
	color: var(--color-accent);
	font-weight: 500;
}

main #experience #resume .resume-item .location {
	color: var(--color-accent);
}

main #experience #resume .resume-item-odd {
	float: left;
	position: relative;
	box-shadow: 5px 10px 15px var(--color-border);
}

main #experience #resume .resume-item-odd:before {
	left: 100%;
	top: var(--resume-pointer-offset);
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-left-color: var(--color-border);
	border-width: var(--resume-triangle-size);
}

main #experience #resume .resume-item-odd::after {
	left: calc(100% + var(--resume-triangle-size));
	top: calc(var(--resume-pointer-offset) + var(--resume-triangle-size) - var(--resume-point-size) / 2);
	height: var(--resume-point-size);
	width: var(--resume-point-size);
	display: block;
	position: absolute;
	border-radius: var(--resume-point-size);
	content: "";
	background: var(--color-accent);
}

main #experience #resume .resume-item-even {
	float: right;
	position: relative;
	box-shadow: -5px 10px 15px var(--color-border);
}

main #experience #resume .resume-item-even:before {
	right: 100%;
	top: var(--resume-pointer-offset);
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-right-color: var(--color-border);
	border-width: var(--resume-triangle-size);
}

main #experience #resume .resume-item-even::after {
	left: calc(-1 * var(--resume-triangle-size) - var(--resume-point-size));
	top: calc(var(--resume-pointer-offset) + var(--resume-triangle-size) - var(--resume-point-size) / 2);
	height: var(--resume-point-size);
	width: var(--resume-point-size);
	display: block;
	position: absolute;
	border-radius: var(--resume-point-size);
	content: "";
	background: var(--color-accent);
}

main #experience #resume #resume-second-item-offset {
	margin-top: 188px;
}

main #experience #resume #resume-last-item {
	margin-bottom: 0;
}

main #experience #resume #resume-end {
	clear: both;
}

@media screen and (max-width: 975px) {
	main #experience h2 {
		text-align: left;
	}

	main #experience #resume .resume-item {
		width: calc(100% - var(--layout-spacing) - var(--resume-line-size) - var(--resume-triangle-size) - var(--resume-point-size));
		margin-bottom: calc(var(--layout-spacing) / 2);
	}

	main #experience #resume:after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		left: calc((var(--resume-point-size)) / 2);
		border-left: var(--resume-line-size) solid #5488e7;
		transform: translate(-50%);
	}

	main #experience #resume .resume-item-odd {
		float: right;
	}

	main #experience #resume .resume-item-odd:before {
		left: auto;
		right: 100%;
		top: var(--resume-pointer-offset);
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-right-color: #efefef;
		border-width: var(--resume-triangle-size);
	}

	main #experience #resume .resume-item-odd::after {
		left: calc(-1 * var(--resume-triangle-size) - var(--resume-point-size));
		top: calc(var(--resume-pointer-offset) + var(--resume-triangle-size) - var(--resume-point-size) / 2);
		height: var(--resume-point-size);
		width: var(--resume-point-size);
		display: block;
		position: absolute;
		border-radius: var(--resume-point-size);
		content: "";
		background: #5488e7;
	}

	main #experience #resume #resume-second-item-offset {
		margin-top: 0;
	}
}
