:root {
	--team-blue: #01425f;
	--team-pink: #f04d4d;
	--team-sky:  #86d2da;
	--team-sand: #e3ddd2;
}

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

#content {
	flex: 1 0 auto; /* основной контент растягивается */
	padding-bottom: 30px; /* небольшое пространство под футером */
	box-sizing: border-box;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-width: 800px;
	letter-spacing: 0.3px;
	font-family: Arial;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" on, "liga" on, "calt" on;
	-moz-font-feature-settings: "kern" on, "liga" on, "calt" on;
	-webkit-font-feature-settings: "kern" on, "liga" on, "calt" on;
	-ms-font-feature-settings: "kern" on, "liga" on, "calt" on;
	-o-font-feature-settings: "kern" on, "liga" on, "calt" on;
}

h1 {
	letter-spacing: 0px;
}

.container-LGQueryBar {
	background-color: var(--team-blue);
	color: white;
	padding-top:20px;
	padding-bottom: 20px;
	margin-bottom: 30px;
}

.container-Footer {
	flex-shrink: 0;
	padding: 15px;
	text-align: center;
	background-color: var(--team-sand);
	color: --var(team-blue);
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 0.9rem;
}

.container-modal {
	padding: 2rem;
	margin-bottom: 2rem;
	background-color: #EDEDED;
	border-radius: .3rem;
}

#LGWelcome hr {
	border-color: var(--team-blue);
	border-width: 3px;
}

#LGQueryResults {
	white-space: pre-wrap;
	font-family: monospace;
	font-size: 14px;
}

#LGQueryResults .communities_c { margin-left: 3.3em; }

#LGQueryResults .communities_j { margin-left: 4.4em; }

@media all and (min-width: 1200px) {
	#LGQueryResults dl {
		column-count: 2;
		column-gap: 2em;
		width: 100%;
	}
}

#LGQueryResults dt {
	float: left;
	clear: left;
	width: 7em;
	font-weight: inherit;
}

#LGQueryResults dd {
	margin-left: 5em;
	margin-bottom: 0;
}

#LGQueryResults .hidden-data { display: none; }

#LGQueryResults .route-active { font-weight: bold; }

#LGQueryResults .route-rpki-valid { color: #0F8A11; }

#LGQueryResults .route-rpki-unknown { color: #FFBE2C; }

#LGQueryResults .route-rpki-invalid { color: #D73F1D; }

.LGQueryResultsStatusbar.route-rpki-valid {
	background-color: #0F8A11;
	color: white;
}

.LGQueryResultsStatusbar.route-rpki-unknown {
	background-color: #FFBE2C;
	color: white;
}

.LGQueryResultsStatusbar.route-rpki-invalid {
	background-color: #D73F1D;
	color: white;
}

.container-fluid:first-child {
	background-color: var(--team-sand);
}

#header-logotype img {
	height: 150px;
}

/* Спиннер */
.spinner {
	margin-bottom: 15px;
	border-top: 1px solid silver;
	padding-top: 15px;
}

.spinner img {
	width: 24px;
	height: 24px; 
}

.spinner span {
	vertical-align: bottom;
	line-height: 24px;
	padding-left: 10px;
}

/* Overrides for form elements */
input.form-control {
	border: 2px solid white;
}

/* Стиль формы ввода при фокусе */
input.form-control:focus {
	border: solid 2px transparent;
	border-radius: 4px;
	border-color: var(--team-sand);
	background-color: white;
	background-origin: border-box;
	background-clip: padding-box, border-box;
	outline: 0;
	box-shadow: none;
}

/* Стиль формы при некорректном вводе */
input.form-control.is-invalid {
	border-color: #ffc600;
}

input.form-control.is-invalid:focus{
	box-shadow: none;
	border-color: #ffc600;
}

/* Стиль текста предупреждения при некорректном вводе */
.form-control.is-invalid~.invalid-tooltip {
	background-color: transparent;
	color: #ffc600;
	padding: 0.1rem 0.2rem;
}

label {
	margin-bottom: 0;
	padding-left: 0.1rem;
	font-size: 0.9rem;
}

.custom-radio .custom-control-input~.custom-control-label::before {
	background-color: white;
	border: solid 2px white;
	top: .05rem; /* Weird font height */
}

.custom-radio .custom-control-input~.custom-control-label::after {
	background-image: none !important;
}

/* Стиль отмеченной радио-кнопки */
.custom-radio .custom-control-input:checked~.custom-control-label::before {
	background-color: var(--team-pink);
}

.bootstrap-select.form-control {
	border: 2px solid white;
}

/* Стиль ниспадающего меню при некорректном вводе */
.bootstrap-select.form-control.is-invalid {
	border-color: #ffc600;
}

.bootstrap-select .bs-searchbox input.form-control {
	border: 2px solid black;
}

/* Стиль поля выбора роутера при фокусе */
.bootstrap-select .bs-searchbox input.form-control:focus {
	border: solid 2px transparent;
	border-radius: 4px;
	border-color: var(--team-blue);
	background-color: white;
	background-origin: border-box;
	background-clip: padding-box, border-box;
	outline: 0;
	box-shadow: none;
}

.bootstrap-select .dropdown-toggle:focus {
	outline: none !important;
}

/* Стиль ниспадающего меню выбора роутера */
.bootstrap-select .dropdown-menu {
	border-width: 0px 2px 2px 2px;
	border-color: var(--team-sand);
	background-color: white;
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

.bootstrap-select.form-control .btn {
	border: none;
	padding: 5px .75rem;
}

/* Стиль кнопки Run */
.form-row .btn:not(.dropdown-toggle), .btn-light:not(.dropdown-toggle) {
	border: none;
	color: black;
	padding: 5px .75rem;
	min-width: 100px;
	letter-spacing: 0.3px;
	background-color: white;
	outline: 0;
	box-shadow: none;
	border-radius: 31px;
}

/* Стиль кнопки Run при клике */
.form-row .btn-light:not(.dropdown-toggle):not(:disabled):not(.disabled).active, .btn-light:not(.dropdown-toggle):not(:disabled):not(.disabled):active {
	color: white;
	background-color: black;
}

/* Стиль кнопки Run */
.form-row .btn:not(.dropdown-toggle) {
	border: solid 2px white;
}

/* Стиль кнопки Run при наведении мышы */
.form-row .btn:not(.dropdown-toggle):hover {
	border: solid 2px transparent;
	background-color: var(--team-pink);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

/* Стиль кнопки принятия куки RECAPTCHA */
.container-modal .btn {
	color: black;
	padding: 5px 2rem;
	min-width: 100px;
	letter-spacing: 0.3px;
	outline: 0;
	box-shadow: none;
	border: solid 2px transparent;
	border-radius: 31px;
	background-color: white;
	border-color: var(--team-blue);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	transition: background 1s ease-out;
}

/* Стиль кнопки принятия куки RECAPTCHA при наведении мыши */
.container-modal .btn:hover {
	border: solid 2px transparent;
	background-origin: border-box;
	background-color: var(--team-pink);
	border-color: var(--team-blue);
	background-clip: padding-box, border-box;
}
