.small-caps {
	font-variant-caps: small-caps;
}

main {
	margin: 100px 10vw;
	width: 75vw;
}

.main-computation, .annex-computation {
	width: 100%;
}
table {
	border-collapse: collapse;
	background: white;
}


th {
	text-align: left;
}

thead th, thead td {
	text-align: center;
	border-bottom: 2px solid var(--bg);
}

td, th {
	padding: 15px;
	border: 1px solid var(--bg);
	width: 16%;
}

td {
	text-align: center;
}

tr td:first-child, tr th:first-child {
	border-right: 2px solid var(--bg);
}

tbody tr:last-child td, tbody tr:last-child th {
	border-bottom: 2px solid var(--bg);
}

td input, th input {
	width: 100%;
	height: 100%;
	border: none;
}
td input {
	text-align: center;
}
th input {
	text-align: left;
}

table caption div {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 1em;
}

button {
	background-color: var(--bg);
	color: white;
	padding: 1em;
	border: 0;
}
button:hover {
	background-color: var(--accent);
}

.computation-surface {
	min-height: 100vh;
}

.annex-computation {
	display: flex;
	flex-direction: column;
	justify-content: center;
	@media (min-width: 800px) {
		flex-direction: row;
		align-items: start;
	}
}
.annex-computation button {
	flex-grow: 1;
}

.image-wrapper {
	position: relative;
}
.image-wrapper img {
	max-width: 100%;
	@media (min-height: 500px) {
		max-height: 75vh;
	}
}

.image-cropper {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.image-cropper img {
	position: absolute;
}

.image-wrapper .line-selector {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border: 5px solid var(--accent);
	height: calc(100% / 35);
	transform-origin: top left;
	transform: rotate(-1.20deg);
}

footer .logos-footer {
	padding: 1em;
}

aside {
	display: none;
}

.aside-open {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 1em 4em;
	padding: 1em;
	border-radius: 15px;
	border: 3px solid var(--accent);
	background-color: var(--bg);
	color: white;
	overflow: scroll;
}
.close-aside {
	float: right;
}

aside img {
	max-height: calc(75vh - 4em);
}

.image-column {
	display: flex;
	justify-content: space-around;
}
.image-column > div {
	margin-left: 1em;
}

img.character {
	max-height: 4em;
	margin: 1em;
}
