

[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: rgba(15, 10, 25, .8);
	width: 340px;
	height: 250px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -150px;
	margin-left: -170px;
	padding: 30px;
	border-radius: 5px;
	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);
	backdrop-filter: blur(10px);
}

[data-mod="alert"] .box .text {
	height: 135px;
}

[data-mod="alert"] .box .text .title {
	font-weight: 700; font-size: 20px; color: #95c3e5;
}

[data-mod="alert"] .box .text .sep {
	width: 100%; height: 2px;
	background-color: #333;
	border-radius: 5px;
	margin: 5px 0;
	display: none;
}

[data-mod="alert"] .box .text .message {
	font-size: 15px; color: #e3e3e3;
}

[data-mod="alert"] .box .controls {
	height: 55px;
	overflow: hidden;
	text-align: right;
}







@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: 15px; 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 0 0;
}

.one_btn1 { color: white; border: 2px solid #0e2b4b; background-color: #0e2b4b; }
.one_btn1:hover { color: white; border: 2px solid #07182b; background-color: #07182b; }

.one_btn2 { color: white; border: 2px solid white; background-color: transparent; }
.one_btn2:hover { color: white; border: 2px solid #111; background-color: #111; }

.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; }





/* 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); }

}






:root {

	/* COLORS */
	--color-pink: #d53e5b;
	--color-blue: #0081b6;
	--color-green: #27a216;

	/* BACKGROUNDS */
	--background-app: url(../images/apps/background-desktop-b-004.jpg);

}

/* 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;
	/* color: white; */
	list-style: none;
	word-break: break-word;
}

html, body {
	background-color: #1d5a87;
	height: 100%;
	background-size: 750px;
	background-repeat: repeat;
}

/*
input, select, option, textarea {
	color: #111;
}
*/

p,
label { color: white; }




@media screen and (max-width: 710px) {

	/* html, body { background-size: 500px; } */

}











[data-app="confirm"] {
	width: 100%; height: 100%;
	overflow-y: auto;
	background-image: url(../images/background-001-003.png);
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 1200px) {

	

}




















[data-app="login"] {
	width: 100%; height: 100%;
	overflow-y: auto;
	background-image: url(../images/background-003.jpg);
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 1200px) {

	

}




















[data-app="register"] {
	width: 100%; height: 100%;
	overflow-y: auto;
	background-image: url(../images/background-003.jpg);
	background-position: center;
	background-size: cover;
}

@media screen and (max-width: 1200px) {

	

}




















#portrait {
	max-width: 1000px;
	width: 100%;
	height: 260px;
	margin: 0 auto -25px auto;
	background-image: url(../images/portrait-desktop-001.jpg);
	background-size: 1920px 260px;
	border-radius: 10px;
	border: 10px solid transparent;
	border-radius: 20px;
	background-clip: padding-box;
	position: relative;
}

#portrait img {
	position: absolute;
	width: 100px;
	bottom: 15px;
	right: 15px;
}

@media screen and (max-width: 1000px) {

	#portrait {
		height: 285px;
		background-image: url(../images/portrait-mobile-001.jpg);
		background-size: 1000px 285px;
	}

}

@media screen and (max-width: 700px) {

	#portrait {
		height: 200px;
		background-size: 700px 200px;
	}

	#portrait img {
		width: 70px;
	}

}

@media screen and (max-width: 500px) {

	#portrait {
		height: 143px;
		background-size: 500px 143px;
	}

}















/* ------------------------------ 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;
	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: rgba(0, 55, 146, .5); */
	overflow: hidden;
	/* border: 1px solid rgba(0, 0, 0, .075); */
	transition: box-shadow 0.2s ease-out;
	position: relative;
	padding: 30px;
}

@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: 15px;
	}

	.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 {
	font-weight: 400;
	transition: color .15s linear;
}

h1, h1 a { color: #95c3e5; }
h2, h2 a { color: white; }
h3, h3 a { color: white; }

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: white; }

@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%;
	background-color: rgba(75, 130, 200, .3);
	border-radius: 5px;
	margin: 0 0 30px 0;
	padding: 20px;
}

.fields .pack h3 {
	font-size: 16px; font-weight: 700; color: white;
	margin: 0 0 15px 0;
}

.fields .field {
	border-radius: 10px;
	margin: 0 10px 15px 0;
	float: left;
}

.fields .field.w100 { width: 100%; }
.fields .field.w48 { width: 48%; }
.fields .field.w30 { width: 30%; }
.fields .field.w20 { width: 20%; }

@media screen and (max-width: 900px) {

	.fields .field.w100 { width: 100%; }
	.fields .field.w48  { width: 100%; }
	.fields .field.w30  { width: 100%; }
	.fields .field.w20  { width: 100%; }

}

.fields .field label {
	font-size: 15px;
	margin: 0 0 5px 0;
	display: block;
	color: #d2d2d2;
}

.fields .field label span {
	color: #ea1c25;
}

.fields .field .text {

}

.fields .field .select {

}

.fields .field .text input,
.fields .field .select select {
	width: 100%;
	height: 40px;
	line-height: 40px;
	padding: 0 10px;
	border-radius: 5px;
	font-weight: 700;
	background-color: rgba(15, 55, 125, .5);
	border: 2px solid transparent;
	color: #e0fdff;
}

.fields .field .text input:focus,
.fields .field .select select:focus {
	border: 2px solid white;
}

.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%;
	background-color: rgba(0, 55, 146, .3);
	border-radius: 5px;
	margin: 0 0 30px 0; padding: 20px;
}

.fields .radio h3 {
	font-size: 16px; font-weight: 700; color: white;
	margin: 0 0 15px 0;
}

.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 #ff59cf;
	width: 20px; height: 20px;
	border-radius: 50%;
	position: absolute;
	top: 10px; left: 15px;
}

.fields .radio [data-radio] p.active {
	border: 3px solid #ff59cf;
	background-color: #ff59cf;
}

.fields .radio [data-radio] .text {

}




.fields .check {
	overflow: hidden;
	width: 100%;
	border: 2px solid #e3e3e3;
	border-radius: 5px;
	margin: 0 0 20px 0;
	padding: 20px;
}

.fields .check h3 {
	font-size: 16px; font-weight: 700; color: #333;
	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 black;
	width: 20px; height: 20px;
	border-radius: 5px;
	position: absolute;
	top: 10px; left: 15px;
}

.fields .check [data-check] p.active {
	border: 3px solid black;
	background-color: black;
	background-image: url(../images/system/checkbox-icon.png);
	background-size: 20px 20px;
}

.fields .check [data-check] .text {

}





/* ------------------------------ CONTROLS ------------------------------ */

.controls {

}

.controls [data-control="loading"] {
	display: none;
}





/* ------------------------------ VISIBILITY ------------------------------ */

[data-visible="hide"] { display: none; }
[data-visible="show"] { display: block; }





