

[data-mod="alert"] {
	position: fixed;
	top: 0; left: 0;
	width: 100vw; height: 100vh;
	background-color: rgba(0,0,0,.4);
	z-index: 3000;
	display: none;
}


[data-mod="alert"] .box {
	background-color: #f9f9f9;
	width: 340px; height: 250px;
	position: absolute;
	top: 50%; left: 50%;
	margin-top: -150px; margin-left: -170px;
	padding: 30px;
	border-radius: 3px;
	box-shadow: 1px 5px 30px 0px rgb(0 0 0 / 50%);
	-webkit-box-shadow: 1px 5px 30px 0px rgb(0 0 0 / 50%);
	-moz-box-shadow: 1px 5px 30px 0px rgba(0,0,0,.5);
}

[data-mod="alert"] .box .text {
	height: 135px;
}

[data-mod="alert"] .box .text .title {
	font-weight: 700; font-size: 20px; color: #111;
}

[data-mod="alert"] .box .text .sep {
	width: 100%; height: 2px;
	background-color: #333;
	border-radius: 5px;
	margin: 5px 0;
}

[data-mod="alert"] .box .text .message {
	font-size: 15px; color: #111;
}

[data-mod="alert"] .box .controls {
	height: 80px;
	overflow: hidden;
	text-align: left;
	border: none;
}







@media screen and (max-width: 710px) {



}




[data-mod="loading"] {
	width: 100vw; height: 100vh;
	z-index: 2000;
	background-color: rgba(0,0,0,.4);
	top: 0; right: 0; bottom: 0; left: 0;
	position: fixed;
	display: none;
	opacity: 0;
}

[data-mod="loading"] .graph {
	background-image: url(../images/system/loading.png);
	background-size: 52px;
	width: 60px;
	height: 60px;
	position: absolute;
	z-index: 2000;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	border-radius: 50%;
	border: 6px solid #fbfbfb;
	animation: rotation 2s infinite linear;
}





@media screen and (max-width: 710px) {



}







/* ------------------------------ MARGIN BOTTOM ------------------------------ */

.one_mb5 { margin-bottom: 5px; }
.one_mb10 { margin-bottom: 10px; }
.one_mb15 { margin-bottom: 15px; }
.one_mb20 { margin-bottom: 20px; }
.one_mb25 { margin-bottom: 25px; }
.one_mb30 { margin-bottom: 30px; }
.one_mb35 { margin-bottom: 35px; }
.one_mb40 { margin-bottom: 40px; }
.one_mb45 { margin-bottom: 45px; }
.one_mb50 { margin-bottom: 50px; }
.one_mb55 { margin-bottom: 55px; }
.one_mb60 { margin-bottom: 60px; }

.one_pl20 { padding-left: 20px; }
.one_pl40 { padding-left: 40px; }





/* ------------------------------ BUTTONS ------------------------------ */

.one_btn1,
.one_btn2,
.one_btn3 {
	font-size: 18px; font-weight: 700; text-align: center; text-transform: uppercase;
	padding: 15px 25px;
	cursor: pointer;
	display: inline-block;
	border-radius: 5px;
	transition: all .15s linear;
	margin: 0 5px 5px 0;
}

.one_btn1 { color: white; border: 2px solid #0870b8; background-color: #0870b8; }
.one_btn1:hover { color: white; border: 2px solid black; background-color: black; }

.one_btn2 { color: white; border: 2px solid #333; background-color: #333; }
.one_btn2:hover { color: white; border: 2px solid black; background-color: black; }

.one_btn3 { color: white; border: 2px solid var(--color-pink); background-color: var(--color-pink); }
.one_btn3:hover { color: white; border: 2px solid #111; background-color: #111; }

@media screen and (max-width: 710px) {

	.one_btn1,
	.one_btn2,
	.one_btn3 {
		width: 100%;
	}

}





/* TABLE / TABLE-CELL */

.one_tab {
	width: 100%; height: 100%;
	display: table;
}

.one_cel {
	width: 100%; height: 100%;
	display: table-cell;
	vertical-align: middle;
}





/* ------------------------------ SCROLLBARS ------------------------------ */

/* Works on Firefox */
* { scrollbar-width: thin; scrollbar-color: #cbcbcb transparent; }
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar { width: 8px; height: 4px; } /* width for vertical / height for horizontal */
*::-webkit-scrollbar-thumb { background-color: #7f7f7f; border: 3px solid transparent; } /* drag */
*::-webkit-scrollbar-track { background-color: #c3c3c3; } /* scroll */





/* ------------------------------ KEYFRAMES ------------------------------ */

@keyframes rotation {

	from { transform: rotate(0deg); }
	to { transform: rotate(359deg); }

}






/* RESET */

* {
	margin: 0; padding: 0;
	border: none; outline: none;
	box-sizing: border-box;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	font-family: 'Montserrat'; font-size: 16px;
	list-style: none;
	word-break: break-word;
}

html, body {
	background-color: #249a77;
	height: 100%;
	background-size: 750px;
	background-repeat: repeat;
}

/*
input, select, option, textarea {
	color: #111;
}
*/

p,
label { color: #363636; }




@media screen and (max-width: 710px) {

	/* html, body { background-size: 500px; } */

}











[data-app="register"] {
	width: 100%; height: 100%;
	overflow-y: auto;
	background-image: url(../images/apps/register/background-desktop-003.jpg);
	background-color: #243346;
	padding: 0 0 75px 0;
}

@media screen and (max-width: 1200px) {

	

}











[data-app="register"] [data-status] {
	padding: 30px;
}


[data-app="register"] [data-status] .status-content {
	margin: 0 auto;
	width: 100%;
}

[data-app="register"] [data-status="register"] .status-content { max-width: 640px; }
[data-app="register"] [data-status="pending"]  .status-content { max-width: 640px; }
[data-app="register"] [data-status="approved"] .status-content { max-width: 640px; }
[data-app="register"] [data-status="rejected"] .status-content { max-width: 640px; }









/* START / PENDING */

#user-selector {
	
}

#user-selector .logo {
	margin: 0 0 30px 0;
	text-align: center;
}

#user-selector .logo img {
	width: 85%;
	max-width: 420px;
}

#user-selector .intro {
	color: white;
	text-align: center;
	margin: 0 0 30px 0;
	font-size: 18px;
}

#user-selector .intro strong {
	font-size: 18px;
}

#user-selector .options {
	overflow: hidden;
}

#user-selector .options [data-option] {
	border: 5px solid transparent;
	border-radius: 5px;
	width: 50%;
}

#user-selector .options [data-option="si"] {
	float: left;
}

#user-selector .options [data-option="no"] {
	float: right;
}

#user-selector .options [data-option] .button {
	width: 100%; height: 60px; line-height: 60px;
	text-align: center;
	font-weight: 700; font-size: 30px;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.2s ease-out;
}

#user-selector .options [data-option] .button:hover {
	background-color: white;
	color: black;
}

#user-selector .options [data-option="si"] .button {
	background-color: #ff9100;
	color: black;
}

#user-selector .options [data-option="no"] .button {
	background-color: #ff9100;
	color: black;
}

@media screen and (max-width: 600px) {

	#user-selector .options [data-option] { width: 100%; }
	#user-selector .options [data-option="si"] { float: none; }
	#user-selector .options [data-option="no"] { float: none; }

}









/* APPROVED */

#register-qr-card {
	margin: 0 auto 5px auto;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	border-radius: 5px;
	padding: 50px 15px;
	transition: box-shadow 0.2s ease-out;
	-webkit-box-shadow: 0 30px 50px 0 rgb(0 0 0 / 50%);
	box-shadow: 0 30px 50px 0 rgb(0 0 0 / 50%);
}

#register-qr-card:hover {
	-webkit-box-shadow: 0 30px 50px 0 rgb(0 0 0 / 75%);
    box-shadow: 0 30px 50px 0 rgb(0 0 0 / 75%);
}

#register-qr-card .logo {
	margin: 0 0 20px 0;
}

#register-qr-card .logo img {
	max-width: 360px;
	width: 80%;
}

#register-qr-card .qr {
	margin: 0 0 20px 0;
}

#register-qr-card .qr img {
	width: 100%;
	max-width: 200px;
	border: 1px solid #e7e7e7;
	border-radius: 5px;
}

#register-qr-card .name {
	text-transform: uppercase;
    font-weight: 700;
    color: white;
}

#register-qr-card .id {
	font-size: 22px;
	color: white;
	margin: 0 0 10px 0;
}

#register-qr-card .id strong {
	font-size: 22px;
	color: white;
}

#register-qr-card .sector {
	color: white;
    font-size: 25px;
	margin: 0 0 20px 0;
	display: none;
}

#register-qr-card .sector strong {
	font-size: 25px;
	color: #eaaf56;
}

#register-qr-card .message {
	color: white;
    font-size: 13px;
}










#qr-controls {
	margin: 0 auto 5px auto;
	max-width: 340px;
	display: none;
}

#qr-controls [data-control] {
	border: 2px solid #01000e;
	background-color: #01000e;
	border-radius: 5px;
	height: 50px;
	line-height: 50px;
	color: white;
	text-align: center;
	text-transform: uppercase;
	margin: 0 0 5px 0;
	cursor: pointer;
	transition: all 0.2s ease-out;
	-webkit-box-shadow: 0 30px 50px 0 rgb(0 0 0 / 15%);
    box-shadow: 0 30px 50px 0 rgb(0 0 0 / 15%);
}

#qr-controls [data-control]:hover {
	background-color: black;
	-webkit-box-shadow: 0 30px 50px 0 rgb(0 0 0 / 30%);
    box-shadow: 0 30px 50px 0 rgb(0 0 0 / 30%);
}









/* START / PENDING */

#rejected-message {
	
}

#rejected-message .logo {
	
}

#rejected-message .logo img {
	width: 100%;
}

#rejected-message .message {
	color: white;
	text-align: center;
	margin: 0 0 30px 0;
	font-size: 18px;
}

#rejected-message .message strong {
	font-size: 18px;
}















/* ------------------------------ WIDE APP ------------------------------ */

.wide_app {
	margin: 0 auto;
}

.wide_app.full   { max-width: 100%;   }
.wide_app.extra  { max-width: 1620px; }
.wide_app.big    { max-width: 1100px; }
.wide_app.medium { max-width: 920px;  }
.wide_app.normal { max-width: 820px;  }
.wide_app.small  { max-width: 620px;  }





/* ------------------------------ FLOW APP ------------------------------ */

.one_flow_app {
	padding: 30px 0 100px 0;
	/* padding: 0 0 100px 0; */
	width: 100%; height: 100%;
	overflow-y: auto;
	position: relative;
}

@media screen and (max-width: 1000px) {

	.one_flow_app { padding: 5px 0 100px 0; }

}





/* ------------------------------ ONE BOX ------------------------------ */

.one_air {
	border: 10px solid transparent;
}
.one_box {
	border-radius: 10px;
	background-color: white;
	overflow: hidden;
	border: 2px solid white;
	transition: box-shadow 0.2s ease-out;
	position: relative;
	padding: 55px;
}

@media screen and (min-width: 900px) {

	.one_box:hover {
		-webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.1);
		box-shadow: 0 3px 5px 0 rgba(0,0,0,.1);
	}

}

@media screen and (max-width: 600px) {

	.one_box {
		padding: 30px;
	}

	.one_air {
		/* border: 5px solid transparent; */
	}

}

.one_box_left { float: right; width: 75%; padding: 0 0 50px 0; }
.one_box_right { float: left; width: 25%; padding: 0 50px 0 0; }

@media screen and (max-width: 1000px) {

	.one_box_left { float: none; width: 100%; padding: 0 0 50px 0; }
	.one_box_right { float: none; display: none; }

}





/* ------------------------------ H ------------------------------ */

h1, 
h1 a, 
h2, 
h2 a, 
h3, 
h3 a {
	transition: color .15s linear;
	color: #484b9a;
	font-weight: 400;
}

h1, h1 a { font-size: 30px; line-height: 30px; }
h2, h2 a { font-size: 25px; line-height: 25px; }
h3, h3 a { font-size: 18px; line-height: 18px; }

h1:hover, 
h1 a:hover, 
h2:hover, 
h2 a:hover, 
h3:hover, 
h3 a:hover { color: #37709b; }

@media screen and (max-width: 800px) {

	h1, h1 a { font-size: 25px; line-height: 25px; }
	h2, h2 a { font-size: 22px; line-height: 22px; }
	h3, h3 a { font-size: 18px; line-height: 18px; }

}





/* APP HEADERS */

[data-app] header {
	margin: 0 0 25px 0;
}

[data-app] header h1, 
[data-app] header p {
	margin: 0 0 10px 0;
}





/* ------------------------------ FIELDS ------------------------------ */

.sep {
	border-bottom: 2px dotted #e3e3e3;
	padding: 0 0 0 0;
	margin: 0 0 30px 0;
}

.fields {
	overflow: hidden;
}

.fields .pack {
	overflow: hidden;
	width: 100%;
	/* border: 1px solid #d4d4d4; */
	/* border-radius: 5px; */
	margin: 0 0 20px 0;
	/* padding: 20px; */
}

.fields .pack h3 {
	font-size: 16px; font-weight: 700; color: #545454;
	margin: 0 0 15px 0;
}

.fields .field {
	border-radius: 10px;
	/* margin: 0 10px 15px 0; */
	float: left;
	border: 10px solid transparent;
}

.fields .field.w100 { width: 100%; }
.fields .field.w50 { width: 50%; }
.fields .field.w30 { width: 30%; }
.fields .field.w20 { width: 20%; }

@media screen and (max-width: 900px) {

	.fields .field.w100 { width: 100%; }
	.fields .field.w50  { width: 100%; }
	.fields .field.w30  { width: 100%; }
	.fields .field.w20  { width: 100%; }

}

.fields .field label {
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 5px 0;
	display: block;
	color: white;
}

.fields .field label span {
	color: #ea1c25;
}

.fields .field .text {

}

.fields .field .select {

}

.fields .field .text input,
.fields .field .select select {
	width: 100%; height: 50px; line-height: 50px;
	padding: 0 20px;
	border-radius: 5px;
	font-weight: 700;
}

.fields .field .text input {
	background-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	border: 2px solid transparent;
	color: white;
	font-size: 20px;
}

.fields .field .select select {
	background-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(10px);
	border: 2px solid transparent;
	color: white;
}

.fields .field .select select option {
	color: black;
}

.fields .field .text input:focus,
.fields .field .select select:focus {
	border: 2px solid rgba(255,255,255,.1);
}

.fields .field .text input.error,
.fields .field .select select.error {
	border: 2px solid #d53e5b;
	color: #d53e5b;
}

.fields .field .textarea {

}

.fields .field .textarea textarea {
	width: 100%; max-width: 100%; height: 150px; line-height: 35px;
	padding: 0 10px;
	border-radius: 5px;
	font-weight: 700;
	background-color: transparent;
	border: 2px solid rgba(255,255,255,.1);
	color: white;
}

.fields .field .textarea textarea:focus {
	border: 2px solid white;
}

.fields .radio {
	overflow: hidden;
	width: 100%;
	border: 2px solid #282828;
	border-radius: 5px;
	margin: 0 0 20px 0;
	padding: 20px;
}

.fields .radio h3 {
	font-size: 16px; font-weight: 700; color: white;
	margin: 0 0 15px 0;
}

.fields .radio h3 span {
	font-size: 16px; font-weight: 700; color: #ea1c25;
}

.fields .radio [data-radio] {
	position: relative;
	cursor: pointer;
	margin: 0; padding: 10px 5px 10px 45px;
	border-radius: 5px;
}

.fields .radio [data-radio]:hover {
	background-color: rgba(0,0,0,.05);
}

.fields .radio [data-radio] p {
	border: 3px solid white;
	width: 20px; height: 20px;
	border-radius: 50%;
	position: absolute;
	top: 10px; left: 15px;
}

.fields .radio [data-radio] p.active {
	border: 3px solid white;
	background-color: white;
}

.fields .radio [data-radio] .text {

}

.fields .radio [data-radio] span {
	color: #c7c7c7;
}




.fields .check {
	overflow: hidden;
	width: 100%;
	border: 2px solid #282828;
	border-radius: 5px;
	margin: 0 0 20px 0;
	padding: 20px;
}

.fields .check h3 {
	font-size: 16px; font-weight: 700; color: white;
	margin: 0 0 15px 0;
}

.fields .check [data-check] {
	position: relative;
	cursor: pointer;
	margin: 0; padding: 10px 5px 10px 45px;
	border-radius: 5px;
}

.fields .check [data-check]:hover {
	background-color: rgba(0,0,0,.05);
}

.fields .check [data-check] p {
	border: 3px solid white;
	width: 20px; height: 20px;
	border-radius: 5px;
	position: absolute;
	top: 10px; left: 15px;
}

.fields .check [data-check] p.active {
	border: 3px solid white;
	background-color: white;
	background-image: url(../images/system/checkbox-icon.png);
	background-size: 20px 20px;
}

.fields .check [data-check] .text {

}

.fields .check [data-check] span {
	color: #c7c7c7;
}

.fields .check [data-check] div {
	color: #a9a9a9;
}





/* ------------------------------ CONTROLS ------------------------------ */

.controls {
	border: 10px solid transparent;
}

.controls [data-control="loading"] {
	display: none;
}





/* ------------------------------ VISIBILITY ------------------------------ */

[data-visible="hide"] { display: none; }
[data-visible="show"] { display: block; }





