@charset "UTF-8";
/* CSS Document */




/*###### TESTO, MARGINI E COLORE ######*/

:root {
	--color_main: #4349E4;
	--color_main_hover: #24288a;
	--color_bg_main: #D6D8DB;
	--color_btn: #4349E4;
}

h1 { font-weight: 800; font-size: 40px !important; color: white; margin: 20px 0 }
p { margin: 0px }
a { color:  var(--color_btn); }

.d-none { display: none !important }
.d-mobile, .d-ipad { display: none !important }

.d-flex { display: flex; flex-wrap: wrap }
.d-flex-nowr { display: flex; flex-wrap: nowrap }
.d-flex-col { display: flex; flex-direction: column; }
.d-flex-col-rev { display: flex; flex-direction: column-reverse; }
.d-table { display: table !important }
.b-none { border: 0px !important; border-radius: 0px !important;}
.w-100 { width: 100% !important; box-sizing: border-box; }
.h-100 { height: 100% !important; }
.w-50 { width: 50% !important; box-sizing: border-box; }
.h-50 { height: 50% !important }
.pos-rel { position: relative }
.flex-col-sb { display: flex; flex-direction: column; justify-content: space-between }
.flex-center { justify-content: center }

.pl-16 { font-weight: 800; font-size: 16px !important }
.p-12 { font-size: 12px !important }
.p-16 { font-size: 16px !important }
.p-20 { font-size: 20px !important }
.p-22 { font-size: 22px !important }
.p-24 { font-size: 24px !important }
.p-28 { font-size: 28px !important }
.p-33 { font-size: 33px !important }
.p-40 { font-size: 40px !important }
.p-47 { font-size: 47px !important }
.fw-500 { font-weight: 500 !important }

.mx-auto { margin: 0 auto !important; }
.m-0 { margin: 0px !important }
.mt-0 { margin-top: 0px !important }
.mt-10 { margin-top: 10px !important }
.mt-20 { margin-top: 20px !important }
.mt-30 { margin-top: 30px !important }
.mt-50 { margin-top: 50px !important }
.mt-70 { margin-top: 70px !important }
.mt-100 { margin-top: 100px !important }
.m-5 { margin: 5px !important }
.m-10 { margin: 10px 0 !important }
.m-20 { margin: 10px 0 !important }
.m-30 { margin: 30px 0 !important }
.mb-0 { margin-bottom: 0px !important }
.mb-10 { margin-bottom: 10px !important }
.mb-20 { margin-bottom: 20px !important }
.mb-30 { margin-bottom: 30px !important }
.mb-50 { margin-bottom: 50px !important }
.mb-100 { margin-bottom: 100px !important }
.mx-15 { margin-right: 15px !important; margin-left: 15px !important; }
.mr-10 { margin-right: 10px!important }
.mr-15 { margin-right: 15px!important }
.ml-10 { margin-left: 10px!important }
.ml-15 { margin-left: 15px!important }

.padt-100 { padding-top: 100px !important }
.pad-80 { padding: 80px !important }

.c-white { color: white !important }
.c-red { color: rgba(255,83,83,1.00) !important }
.c-green { color: rgba(49,174,49,1.00) !important }
.c-main { color: var(--color_main) !important }
.c-black { color: black !important }


/*###### GENERALI ######*/

html, body {
	width: 100%;
    height:100%;
	margin: 0px;
	padding: 0px;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 400; /*DISPONIBILE ANCHE 500 */
	background-color: var(--color_bg_main);
	z-index: -2;
}
a { text-decoration: none; }

#ajaxloader {
	position:fixed; 
	width:100%; 
	height:100%; 
	background-color:rgba(0,0,0,0.81); 
	z-index:300; 
	background-image: url("images/preloader_02.svg");
	background-size: 40px 40px;
	background-position: center center;
	background-repeat: no-repeat;
	display:none;
}
#loaderCard {
	position:absolute; 
	width:100%; 
	height:100%; 
	/* background-color:rgba(0,0,0,0.2);  */
	background-image: url("images/loader01.svg");
	/* background-size: 40px 40px; */
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 15px;
	display:none;
}

#main {
	/* position: absolute;
	top: 0;
	left: 0; */
	display: flex; 
	flex-direction: column;
	width: 100%;
	min-height: 100%;
}
.content-container {
	display: flex;
	flex-grow: 2;
	/* position: absolute;
	top: 0;
	left: 0; */
    height: 100%;
    width: 100%;
}
.content.ajax {
	position: absolute;
	top: 0;
	left: 0;
	display: flex; 
	flex-direction: column;
	width: 100%;
	height: 100%;
}
.content {
	/* position: absolute;
	top: 0;
	left: 0; */
	/* display: flex; */
    width: 100%;
	/* height: 100%; */
    /* flex-direction: column; */
	/* padding: 0 0 30px 0; */
	/* margin: 0 0 30px 0; */
	/* background-color: white; */
}

.container {
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}
.btn {
	display: table;
	margin: 15px auto;
	background-color: var(--color_btn);
	color: white;
	padding: 10px 20px;
	font-size: 30px;
	font-weight: 500;
	cursor: pointer;
	border-radius: 15px;
}
.btn.outline {
	border: 1px solid var(--color_btn);
	background-color: transparent;
	color: var(--color_btn);
}
#menu_btn {
	position: absolute;
	top: 20px;
	right: 20px;
}
.debug {
	background-color: red;
	color: white;
	padding: 10px;
	border-radius: 5px;
	text-align: left;
}
.alert_container {
	/* position: fixed; */
	width: 100%;
	line-height: 40px;
	text-align: center;
}
.alert.verde { background-color: green; color: white; }
.alert.rosso { background-color: red; color: white; }
.logout {
	width: 30px;
	height: 30px;
}
.settings {
	width: 26px;
	height: 26px;
	margin: 0 10px 0 0;
}

/*######### EVENTO ##########*/

.btn_punti {
	font-size: 13px;
	font-weight: 400;
}



/* ################################## LOGIN ###################################### */

.vbox-inline {
	background-color: var(--color_bg_main) !important;
}
.login_registrati_titolo {
	font-size: 40px;
	font-weight: 500;
}
#form_login,
#form_reg {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 30px;
}
.login_form_label {
	font-size: 18px;
	margin: 15px 0 6px;
}
.login_form_input {
	width: calc(100% - 20px);
    max-width: 300px;
    line-height: 40px;
    border-radius: 10px;
    border: 0px;
    font-size: 16px;
    background-color: white;
    text-align: center;
}
.login_form_btn {
	width: calc(100% - 20px);
	max-width: 300px;
	line-height: 40px;
	border-radius: 10px;
	background-color: var(--color_main);
	color: white;
	font-size: 16px;
	border: 0px;
	cursor: pointer;
	text-align: center;
}
.login_form_btn:hover {
	background-color: var(--color_main_hover);
}
#back_login {
	text-align: left;
    width: 100%;
    margin: 20px 0 -20px 40px;
    cursor: pointer;
}
#back_login:hover {
	color: var(--color_main_hover);
}


/*########### VALIDATOR ############*/
input.error {
	background-color: rgb(255, 138, 138);
	color: white;
}
label.error {
	display: table;
    margin: 6px 0 0 0;
    padding: 5px 15px;
    background-color: red;
    border-radius: 8px;
    font-size: 13px;
    color: white;
}
#sesso-error {
	position: absolute;
	margin: 5px 0 0 25px;
}


/*####################### FOOTER #########################*/

.footer_container {
	width: 100%;
	line-height: 30px;
	background-color: #C4C4C4;
	padding: 0 10px;
	box-sizing: border-box;
}
.footer_content {
	max-width: 1000px;
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0 auto;
}
.footer_content_sx {
	position: absolute;
	left: 10px;
}
.footer_content_dx {
	position: absolute;
	right: 10px;
}
.footer_content a {
	color: black;
	font-size: 14px;
	/* min-width: 100px; */
}
.footer_content a:hover { color: var(--color_main); }
.footer_content_dx {
	text-align: right;
}