* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	text-decoration:none;
	-webkit-appearance:none;
	box-sizing: border-box;
}
:root {
	color-scheme: only light dark;

	--background: #f0f2f5;
	--text-color: #031340;
	--white: #fff;
	--light: var(--white);
	--dark-blue: #0931a0;
	--logo-blue: var(--dark-blue);
	--red: #e40000;
}
@media (prefers-color-scheme: dark) {
	:root {
		--background: #020e30;
		--text-color: #cdd5dc;
		--light: #051d60;
		--logo-blue: #fff;
		--red: #ff3843;
	}
}

@font-face {
	font-display: swap;
	font-family: 'Inter';
	font-style: normal;
	font-weight: normal;
	src: url('/fonts/InterVariable.woff2') format('woff2');
}

body {
	background-color: var(--background);
	line-height: 2em;
}
body, .search-bar, .search-bar input, .choices li, .choices a, .history-list li, .history-list a, .flight-details {
	position: relative;
}

body, input, select {
	font-family: "Inter", apple-system, Arial, Verdana, sans-serif;
	font-size: 16px;
}
body, input, select, a {
	color: var(--text-color);
}
input {
	background: transparent;
	font-size: 18px;
}

header {
	z-index: 10;
	padding: 12px 15px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 64px;
}
.loader {
	position:absolute;
	right: 16px;
	top: 19px;
	opacity: 0;
}
.show {
	opacity: 1;
}

header, .search-bar, .choices li, .history-list li, .flight-timeline, .flight-timeline li:before {
	background-color: var(--light);
}

header a, header a svg {
	display: block;
	width: 190px;
	height: 40px;
}
.eham, .cdm {
	fill-rule: nonzero;
}
.eham, .history-list svg, label svg, .choices svg {
	fill: var(--logo-blue);
}
.cdm, .plane {
	fill: var(--red);
}

.delayed {
	position:absolute;
	top: 16px;
	right: 16px;
	padding: 0 7px;
	background-color: var(--red);
	border-radius: 8px;
	font-size: 13px;
	line-height: 25px;
	text-transform: uppercase;
	font-weight: bold;
	color: var(--white);
}

.site-container {
	max-width: 560px;
	margin: 0 auto;
}

.general div {
	display:inline-block;
	width: 50%;
	vertical-align: bottom;
}
.general div:nth-child(2) {
	text-align:right;
}
.note, footer {
	font-size: 12px;
}
.medium-note {
	font-size: 14px;
}
.right-float {
	float:right;
}
.semi {
	font-weight:bold;
}
.times {
	min-height: 32px;
}
.site-container {
	padding: 78px 16px 16px 16px;
}
.flight-details {
	padding: 24px 16px;
	background-color: var(--dark-blue);
	background: linear-gradient(180deg,rgba(9, 49, 160, 1) 0%, rgba(2, 14, 48, 1) 100%);
	color: #cdd5ec;
}

.flight-timeline, .flight-details ul li, .history-list a, .choices a, .error-message {
	padding: 16px;
}
.error-message {
	line-height: 1.2em;
}

.query {
	position:relative;
	padding: 25% 0 0 0;
	min-height: 668px;
	background-image: url('/images/compressed_airport.png');
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 512px 768px;
}

h3:not(.flight-details h3) {
	text-align:center;
	margin-bottom: 24px;
	font-size: 24px;
}
.search-bar, .search-bar input, .submit, .search-bar label {
	height: 64px;
}
input.field {
	width: 100%;
	padding: 0 68px 0 58px;
}
.search-bar label, .submit input {
	z-index: 7;
	cursor:pointer;
}
label svg {
	width: 54px;
	height: 64px;
	padding: 18px 13px;
	transform: scale(-1, 1);
}
.submit, .submit input, .submit svg, .search-bar label, .button-loader {
	position: absolute;
}
.submit {
	border-top-right-radius: 14px;
	border-bottom-right-radius: 14px;
}
.submit {
	background-color: var(--dark-blue);
}
.submit svg, .button-loader {
	fill: var(--white);
	width: 36px;
	height: 36px;
	left: 50%;
	top: 50%;
	margin-left: -20px;
	margin-top: -18px;
}
.submit, .submit input {
	width: 64px;
	z-index: 5;
	top: 0;
	right: 0;
}
.submit input {
	opacity: 0;
	z-index: 6;
}
.button-loader {
	margin-left: -18px;
}

.opacity-0 {
	opacity: 0;
}
.opacity-1 {
	opacity: 1;
}

.search-bar, input.field, .flight-details, .flight-timeline, .history-list li, .choices li, .error-message {
	border-radius: 14px;
}

.search-bar, .flight-details, .flight-timeline {
	margin-bottom: 24px;
}

.history-list li, .choices li {
	margin-bottom: 14px;
}

.history-list a, .choices a {
	display:block;
}

.history-list svg, .choices svg {
	pointer-events: none;
	position: absolute;
	right: 16px;
	top: 50%;
	margin-top: -9px;
	height: 18px;
	width: 18px;
}
.choices h4 {
	margin-bottom: 8px;
}


.flight-details h3, .flight-details ul li span:nth-child(2) {
	color: var(--white);
	font-size: 32px;
}
.flight-details ul li span:nth-child(2) {
	font-size: 24px;
}

ul {
	list-style-type:none;
}


.flight-details ul {
	margin: 16px -16px -24px -16px;
	border-top: 1px solid #2145a9;
}
.flight-details ul li {
	display:inline-block;
	vertical-align: top;
	border-left: 1px solid #2145a9;
	text-align:center;
	width: 33%;
}
.flight-details ul li:first-child {
	border: 0;
}
.flight-details ul li:last-child {
	width: 34%;
}

.flight-details ul li span {
	display:block;
}


.flight-timeline li {
	position: relative;
	padding: 12px 0 12px 64px;
}
.flight-timeline li:before, .flight-timeline li:after, svg.check {
	position: absolute;
}
.flight-timeline li:before, .flight-timeline li:after {
	display:block;
	content: "";
}
.flight-timeline li:after {
	z-index: 2;
	left: 22px;
	width: 4px;
	background-color: #b5c1e2;
	height: 88px;
	top: -50px;
}
.flight-timeline li:first-child:after {
	display:none;
}

.flight-timeline li:before {
	z-index: 3;
	left: 10px;
	top: 24px;
	width: 20px;
	height: 20px;
	border-radius: 20px;
	border: 4px solid #b5c1e2;
}

.flight-timeline li span {
	display:block;
	line-height: 1.6em;
	font-size: 20px;
	text-transform:uppercase;
}
.flight-timeline li span:nth-child(2), .history-list span, .choices span:nth-child(1) {
	font-weight:bold;
}
.choices span {
	line-height: 1.5em;
	display:block;
}


footer {
	padding: 48px 0;
	line-height: 1.5em;
	opacity: .6;
	text-align:center;
	max-width: 260px;
	margin: 0 auto;
}
footer, footer a {
	color: #9fbcd8;
}

footer div:last-child {
	margin-top: 24px;
}

.error-message {
	position:absolute;
	top: 0;
	width: 100%;
	display:none;
	margin-bottom: 14px;
	background-color: var(--red);
	color: var(--white);
	cursor:pointer;
}


input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }
input:focus:-ms-input-placeholder { color:transparent; }

::placeholder {
	color: currentColor;
	opacity: .5;
}
