/* box sizing */
html {
	box-sizing: border-box;
}
*,
*:before,
*:after {
	box-sizing: inherit;
}

/* variables */
:root {
	--c-fg: black;
	--c-fg--info: black;
	/* --c-bg: azure; */
	--c-bg--summary: whitesmoke;
	--c-bg--contrast: cyan;
	--c-bg--tonique: fuchsia;
	--c-bg--warning: white;
	--c-bg--random: inherit; /* set by js */
	--c-border: lightgray;
	--size-font: 17px;
	--size: 1.5rem;
	--size-container: 40rem;

	--font-family: monospace;
}

@media screen and (min-width: 70rem) {
	:root {
		--size-font: 19px;
	}
}

/* animation */
@keyframes float {
	0% {
		transform: translateX(0);
	}
	50% {
		transform: translateX(10%);
	}
	100% {
		transform: translateX(0);
	}
}

/*
	General styles
*/
html,
body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
html {
	color: var(--c-fg);
	font-size: var(--size-font);
	font-family: var(--font-family);
	min-height: 100%;
}

body {
	margin: 0;
	/* background-color: var(--c-bg--random); */
}

i4k-find-app button {
	padding: 0.7rem 0.8rem;
	/* background-color: var(--c-bg--random); */
	color: var(--c-fg);
	cursor: pointer;
}
i4k-find-app input {
	padding: 0.8rem;
}

i4k-find-app li {
	margin-bottom: 0.7rem;
}

/*
	Application concerns
*/

.App {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: calc(var(--size) / 2);

	/* transition */
	transition: background-color 700ms ease-in-out;
}

.App-header {
	opacity: 1;
	transition: opacity 300ms ease-in,
		transform 300ms cubic-bezier(0.6, -0.13, 0.45, 1.06);
	transform: translateY(0);
}
@media screen (min-width: 20rem) {
	.App-header {
		flex-direction: column;
	}
}

.App-queries {
	padding: 0.5rem;
}
.App-queries menu {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	justify-content: center;
	align-items: center;
}
.App-queries menu li {
	margin: 0.5rem;
}
.App-header {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 0.5rem;
}
.App-header::after {
	content: "";
	z-index: -1;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background-color: var(--c-bg--random);
	opacity: 0.8;
	border-radius: 0.3rem;
}

.App-body {
	opacity: 1;
	transition: opacity 200ms 300ms ease-out;
	width: 100%;
	max-width: var(--size-container);
	margin-top: 1rem;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.Title {
	margin-top: 0;
	position: relative;
	text-decoration: none;
	font-size: 2rem;

	/* vertical align the image */
	display: flex;
}
.Title img {
	width: 7rem;
}
.Title h1 {
	display: none;
}

@media screen (min-width: 20rem) {
	i4k-find form {
		flex-direction: column;
	}
}
i4k-find form {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
}
@media screen and (min-width: 30rem) {
	i4k-find form {
		flex-wrap: nowrap;
	}
}

i4k-find form button {
	/* push it from input, and stay visually centered on mobile */
	margin: 1rem;
}

i4k-find form button:active {
}

i4k-find form input {
	-webkit-appearance: inherit;
	font-size: 1.2rem;
	min-width: 40vw;
}

#Customs-table {
	border-collapse: separate;
	border-spacing: 2rem 0;
	text-align: left;
}

i4k-find {
	transform: scale(1);
	transition: transform 200ms ease-in-out;
}

i4k-find-info button {
	cursor: pointer;
}
i4k-find-info-docs {
	margin-bottom: 1rem;
	display: flex;
	justify-content: center;
	padding: 0.6rem;
}

i4k-symbols-list {
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
	padding: 1rem;
}

i4k-symbols-list header {
	background-color: var(--c-bg--tonique);
	padding: 0.3rem 1rem;
	font-size: 1.7rem;
	width: auto;
	display: inline-flex;
	position: sticky;
	top: 0;
}
i4k-symbols-list ul {
	margin-top: 0.5rem;
	padding: 0;
	list-style: none;
}
i4k-symbols-list li {
	display: flex;
	flex-wrap: wrap;
}
i4k-symbols-list li em {
	text-align: left;
	flex-grow: 1;
	flex-shrink: 0;
}
i4k-symbols-list li a {
	word-break: break-word;
	text-align: right;
}
i4k-symbols-list li input {
	background-color: transparent;
	border: none;
	padding: 0;
	cursor: alias;
	max-width: none;
	outline: 0;
}
@media screen (min-width: 20rem) {
	i4k-symbols-list li pre {
		line-height: 1.7;
		font-size: 1rem;
	}
}
i4k-symbols-list li pre {
	tab-size: 0.1rem;
	white-space: pre-wrap;
	margin: 0;
	width: 100%;
	color: var(--c-fg--info);
	line-height: 1.7;
	font-size: 0.8rem;
}
i4k-symbols-list article {
	margin-bottom: 1rem;
}
i4k-symbols-list li em {
	margin-right: 1rem;
	font-weight: bold;
}
i4k-symbols-list li a {
	color: var(--c-fg);
	text-decoration: none;
}

/* searched animations */
i4k-find-app[searched] {
	/* opacity: 0; */
}
i4k-find-app[searched] i4k-find-info {
	/* opacity: 0; */
	/* transform: scale(0); */
}
i4k-find-app[searched] i4k-find-logo {
	/* opacity: 0; */
	/* transform: scale(2); */
}
i4k-find-app[searched] i4k-find {
	/* opacity: 0; */
}
i4k-find-app[searched] i4k-find input {
	/* font-size: 5vh; */
	/* background-color: transparent; */
	/* border-color: transparent; */
	/* outline: none; */
}
i4k-find-app[searched] i4k-find button {
	/* display: none; */
}

i4k-find-app {
	opacity: 1;
	/* transition: opacity 300ms ease-in-out; */
}
i4k-find-app i4k-find-info {
	display: flex;
	flex-direction: column;
	margin: 0.5rem;
}
i4k-find-app i4k-find-logo {
	margin: 0.4rem;
	opacity: 1;
	transition: opacity 300ms ease-in-out, transform 300ms ease-in-out;
	animation: float 9s ease-in-out infinite;
}
i4k-find-app i4k-find-logo:hover svg {
	transform: scale(1.2);
}
p i4k-find-app i4k-find-logo svg {
	width: 3rem;
	height: 3rem;
	transform: scale(1);
	transition: transform 200ms ease-in-out;
}
i4k-find-app i4k-find {
	opacity: 1;
	transform: scale(1);
	transition: opacity 600ms ease-in-out, transform 400ms ease-in-out;
}
i4k-find-app i4k-find input {
	transition: background-color 200ms ease-in-out, font-size 400ms ease-in-out;
}
i4k-find-app details[open] {
	border: none;
	background-color: var(--c-bg--summary);
}
i4k-find-app details[open] summary {
	margin: 0rem 4rem;
	font-weight: bold;
}
i4k-find-app summary {
	cursor: pointer;
	padding: 1rem;
	text-align: center;
	background-color: var(--c-bg--summary);
	border-radius: 0.2rem;
	margin: 0.3rem;
}

/* sync */
i4k-find-sync {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
i4k-find-sync form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
i4k-find-sync form input {
	flex-basis: 50%;
	/* display: none; */
}

/* analytics */
i4k-find-analytics {
	display: flex;
	padding: 1rem;
	margin-top: 1rem;
	background-color: var(--c-bg--warning);
}
