/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, select {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

/*---------------------------------------------------------------------------*/
.flex-row {
	display: flex;
	flex-direction: row;
}

/* Main */

input[type=checkbox] {
	width: 18px;
	height: 18px;
	margin: 0 7px 0 0;
}

button, select, input[type=checkbox] {
	cursor: pointer;
}

#viewport {
	width: 100vw;
    height: 100vh;
	background-color: #1c1c1c;
	color: #cccccc;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	overflow: auto;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#center {
	display: flex;
	justify-content: center;
	margin-left: -190px;
}

#logo-container {
	display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-right: 40px;
}

#version {
	color: #b1b1b1;
}

#page {
	min-width: 480px;
	max-width: 650px;
	background-color: #252525;
	border-radius: 7px;
	display: flex;
	justify-content: center;
}

.page-view {
	width: 100%;
}


/*
	View: Form
*/
#form-body {
	padding: 0 10px;
}

#form-title {
	padding: 1em;
	font-size: 1.2em;
	color: #1bb0da;
	font-weight: bold;
	background-color: #2f2f2f;
	border-radius: 7px 7px 0 0;
}

.form-section {
	margin: 15px 0;
}

.form-section-title {
	color: white;
	font-size: 1.1em;
	font-weight: bold;
	padding-top: 10px;
    margin-bottom: 15px;
}

.form-row {
	font-size: 1em;
	margin: 5px 0;
	display: flex;
	align-items: center;
}


.form-row label:not(.label-wrap-input) {
	width: 33%;
	min-width: 130px;
}
.label-wrap-input {
	display: flex;
	align-items: center;
	width: 60%;
}


.validation-text-container {
	display: flex;
}

.label-spacer {
	width: 33%;
	min-width: 130px;
}

.validation-text {
	margin-top: 4px;
	width: 276px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: pre-line;
    overflow-y: auto;
    max-height: 200px;
}

.validation-error {
	color: #ff7663;	
	border: 2px solid red;
}

.validation-success {
	color: #1a8e19;
}
.hidden {
	display: none;
}

.form-row .input-wrapper {
	width: 60%;
	height: 23px;
}

.form-row .input-wrapper input,
.form-row .input-wrapper select {
	width: 100%;
	height: 23px;
	border: 0 none;
	font-size: 1em;
	background-color: #fbfbfb;
	box-sizing: border-box;
}

.form-row .input-wrapper input {
	padding: 0.1em 5px 0;
}

.form-row .input-wrapper select {
	padding: 1px 3px 0;
}

.tooltip {
	padding: 3px 7px;
	text-align: center;
	cursor: pointer;
	font-size: 1.2em;
	font-weight: bold;
	width: 6%;
	position: relative;
}

.tooltip::after {
	content: attr(data-title);
    position: absolute;
    left: 26px;
    top: -4px;
    min-width: 200px;
    border-radius: 4px;
    background-color: #121111;
    padding: 6px 7px;
    color: #e6e1e1;
    font-size: 12px;
    z-index: 1;
    font-weight: normal;
    line-height: 1.3em;
    text-align: left;
    transition: all .3s;
    transform: translate(7px, 0);
    display: block;
    opacity: 0;
    visibility: hidden;
    border: 1px solid #3f3f3f;
}

.tooltip:hover::after,
.tooltip:focus::after {
	display: block;
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}

.form-row .tooltip:hover {
	color: white;
}

#space {
	width: 33%;
	min-width: 130px;
}


#disk-storage-section {
	border-top: 1px solid gray;
	border-bottom: 1px solid gray;
	padding: 10px 0;
}

#show-password {
	position: relative;
    left: 93%;
    top: -18px;
    width: 13px;
	height: 15px;
	cursor: pointer;
}

/* Form Bottom  */
#form-bottom {
	padding: 1em;
	background-color: #2f2f2f;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 0 0 7px 7px;
}

#license-section {
	display: flex;
	flex-direction: column;
	margin-top: 40px;
	margin-bottom: 10px;
}

#has-license-container,
#auto-login-container {
	display: flex;
}

#auto-login-container {
	margin-top: 4px;
}

#ssl-section {
	display: flex;
	flex-direction: column;
	margin-top: 10px;
}

#license-section label, #ssl-section label {
	display: flex;
	flex-direction: row;
	align-items: center;
}

#license-file {
	margin-top: 15px;
	align-items: center;
}

#license-button-wrapper, #ssl-db-cert-wrapper {
	margin-top: 10px;
}

.btn-row {
	display: flex;
	margin: 0 0 5px 26px;
	align-items: center;
}

.upload-button {
	display: flex;
	align-items: center;
	background: none;
    border: 1px solid white;
	color: white;
	cursor: pointer;
	font-size: 1em;
}

.upload-button:hover {
	border: 1px solid #1bb0da;
}

.file-name {
	margin-left: 10px;
	color: #989898;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.import-icon {
	width: 16px;
	height: 16px;
	margin: 5px;
}

#execute {
	background-color: #1bb0da;
	border: 0 none;
    color: white;
    padding: 7px;
	width: 180px;
	cursor: pointer;
}

#all-required {
	display: none;
	margin-bottom: 7px;
	color: #ff7663;
}

#execute.disabled {
	background-color: gray;
	cursor: not-allowed;
}

#execute:hover {
	background-color: #1bb0da;
}

#execute.disabled:hover {
	background-color: gray;
}

input:disabled{
	background-color: gray;
}

.invalid {
	outline: 1px solid #ff7663;
	background-color: #ffb9b9 !important;
}

input[type=checkbox]:checked {
	background: #1bb0da;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 16px;
	width: 16px;
	border: 3px solid white;
	outline: 0 none;
}

input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 16px;
	width: 16px;
	border: 3px solid white;
	outline: 0 none;
}


/*
	View: Progress & Logs
*/

#progress {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px;
	margin-top: 10px;
}

#progress-percentage {
	font-size: 1.75em;
	color: #1bb0da;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	height: 30px;
}

#stopped {
	color: #fc2121;
}

#progress-bar-container {
	width: 100%;
}

#full-progress-bar {
	background-color: #6e6f71;
	width: 100%;
	height: 7px;
}

#partial-progress-bar {
	background-color: #1bb0da;
	width: 0;
	height: 100%;
}

#partial-progress-bar.error {
	background-color: #ac0606;
	width: 100% !important;
}

#logs {
	width: 100%;
	padding: 0 10px;
}

#log-list {
	height: 25vh;
	overflow: auto;
	font-family: monospace;
	scrollbar-color: #5f5f5f #171717;
	scrollbar-width: thin;
}

.log {
	margin: 8px 0;
    line-height: 1.4em;
}

.log.error {
	color: #fc2121;
}

#back-btn-container {
	height: 50px;
    display: flex;
    align-items: center;
}

#back-btn {
	display: flex;
	align-items: center;
	background: none;
    border: 1px solid white;
	color: white;
	width: 120px;
	cursor: pointer;
	padding: 6px 8px 5px 44px;
	margin: 0 auto;
}


/*
	View: Success Page
*/
#end-screen-view {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 200px;
}

#final-title {
	font-size: 1.5em;
	margin-bottom: 15px;
}

.success {
	color: #1bb0da;
}

.failed {
	color: #ec422b;
}

#final-text {
	margin-bottom: 15px;
	line-height: 1.5rem;
}

#start-btn {
	background: none;
	border: 1px solid #1bb0da;
	color: white;
	width: 120px;
	padding: 5px;
	margin-top: 25px;
}


.ellipsis-loader {
	display: inline-block;
	position: relative;
	width: 20px;
    height: 23px;
}
.ellipsis-loader div {
	position: absolute;
	top: 21px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #1bb0da;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.ellipsis-loader div:nth-child(1) {
	left: 2px;
	animation: ellipsis-loader-grow 0.5s infinite;
}

.ellipsis-loader div:nth-child(2) {
	left: 2px;
	animation: ellipsis-loader-move 0.5s infinite;
}

.ellipsis-loader div:nth-child(3) {
	left: 8px;
	animation: ellipsis-loader-move 0.5s infinite;
}

.ellipsis-loader div:nth-child(4) {
	left: 14px;
	animation: ellipsis-loader-shrink 0.5s infinite;
}

@keyframes ellipsis-loader-grow {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes ellipsis-loader-shrink {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}

@keyframes ellipsis-loader-move {
	0% {
		transform: translate(0, 0);
	}
	100% {
		transform: translate(6px, 0);
	}
}

::-webkit-scrollbar {
	width: 8px;
}
 
::-webkit-scrollbar-track {
	border-radius: 10px;
	background-color: #171717;
}

::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #5f5f5f;
}

#spinner {
	text-indent: -9999em;
	overflow: hidden;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	position: relative;
	font-size: 20px;
	margin: 16px auto;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	animation: loading-spinner 1.7s infinite ease;
}

@keyframes loading-spinner {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
			0 -0.83em 0 -0.477em;
	}
	5%,
	95% {
		box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
			0 -0.83em 0 -0.477em;
	}
	10%,
	59% {
		box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em,
			-0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
	}
	20% {
		box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em,
			-0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
	}
	38% {
		box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em,
			-0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
		box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em,
			0 -0.83em 0 -0.477em;
	}
}
