/**START ** ICONE CHE SI GIRANO IN HOMEPAGE**/
:root { 
	--xmui-primary-color: 0, 69, 145; 
	--xmui-secondary-color: 20, 0, 0;
}

.accordion-collapse {
	height: 100px;
}

.accordion-button:not(.collapsed) {
	color: #fff;
	background-color: #004591;
	box-shadow: inset 0 -1px 0 rgb(0 0 0/ 13%);
}

.collapsing {
	position: relative;
	height: 0;
	overflow: hidden;
	-webkit-transition: height .35s ease;
	-o-transition: height .35s ease; 
	transition: height .35s ease;
}

.blue-tim {
	background-color: #004591;
}

.main-info {
	display: flex;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.main-info .submain-info a {
	width: 80px;
	height: 80px;
	text-align: center;
	padding-top: 10px;
	font-size: 35px;
	margin: 0 10px;
	display: block;
	border-radius: 50%;
	position: relative;
	overflow: hidden;
	border: 3px solid #fff;
	z-index: 1;
}

.main-info .submain-info a .icon {
	position: relative;
	color: #fff;
	transition: .5s;
	z-index: 3;
}

.main-info .submain-info a:hover .icon {
	color: #fff;
	transform: rotateY(360deg);
}

.main-info .submain-info a:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f00;
	transition: .5s;
	z-index: 2;
}

.main-info .submain-info a:hover:before {
	top: 0;
}

.main-info .submain-info:nth-child(1) a:before {
	background: #3b5999;
}

/**END ** ICONE CHE SI GIRANO IN HOMEPAGE**/
.cursor_pointer {
	cursor: pointer;
}

.navbar-brand {
	font-size: 14px;
}

#navbarNav {
	right: 30px;
	position: absolute;
}

.icon-home, .fa-user-tie {
	font-size: 20px !important;
	margin-top: 5px;
}

.icon-home {
	margin-top: 10px;
}

#invia-otp {
	margin-top: -65px;
	padding-right: 25px;
	padding-left: 25px;
}

#descrizione-invia-otp {
	position: absolute;
	width: 300px;
	left: 40px;
	top: 50px;
	line-height: 12pt;
	font-size: 14px;
}

.img_button {
	width: 100%;
}

.icon_home {
	top: 20px;
	position: absolute;
	right: 90px;
	width: 100px;
	height: 100px;
}

.icon_home_left>.main-info .submain-info a {
	background-color: #00DD00;
}

.icon_home_center>.main-info .submain-info a {
	background-color: #ffdd00;
}

.icon_home_right>.main-info .submain-info a {
	background-color: #F3783A;
}

.text_icon_home {
	text-align: right;
	margin-top: -65px;
	padding-right: 25px;
	color: #004591;
	width: 100%;
}

footer {
	background-color: #f6f9fb !important;
	width: 100%;
	height: 60px;
	z-index: 999;
	border-top: 4px solid #004591;	
	position: fixed;
	bottom:0px;	
}

footer img {
	margin-top: -2px;
}

.header_row {
	margin-right: 0;
	margin-bottom: 0;
	border-bottom: 4px solid #004591;
	background-color: #f6f9fb !important;
	color: #004591;
	padding: 15px;
	padding-bottom: 10px;
}

#tim_logo {
	float: left;
	margin-top: 10px;
}

#is_logo {
	/*margin-bottom: 1rem;*/
	    height: 50px;
}

#title_header>h2 {
	line-height: 1em;
}

#subtitle_header {
	margin-left: 158px;
	margin-top: -10px;
	line-height: 1.2em;
}

.btn {
	background-color: #004591;
	border-color: #004591;
}

.grey-color {
	background-color: #f6f9fb !important;
}

/* Multistepform */

/* Mark input boxes that gets an error on validation: */
input.invalid {
	background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
	display: none;
}

#prevBtn {
	background-color: #bbbbbb;
}

/* Make circles that indicate the steps of the form: */
.step {
	height: 15px;
	width: 15px;
	margin: 0 2px;
	background-color: #bbbbbb;
	border: none;
	border-radius: 50%;
	display: inline-block;
	opacity: 0.5;
}

.step.active {
	opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
	background-color: #004591;
}

#container_actions_mobile {
	display: none;
}

#home_menu {
	display: none;
}

#container-body {	
	margin-bottom: 65px !important;
	display:flex;
	overflow-y: auto;
}

.home#container-body {
	height: calc(100vh - 200px);
}

.login#container-body {
	height: calc(100vh - 170px);
}

#sub-container-home{
	margin:auto;	
}

#row-login {
	margin: auto;
	/*min-height: calc(100vh - 170px);
	height: 75vh;
	align-content: center;*/
	
}

@media only screen and (max-width: 1400px) {
	/* For desktop: */
	.icon_home {
		right: 80px;
		font-size: 1vw;
		top: 5px;
	}
	.text_icon_home {
		margin-top: -65px;
		padding-right: 8px;
	}
	#descrizione-invia-otp {
		line-height: 11pt;
		font-size: 12px;
		width: 250px;
		top: 35px;
	}
	#invia-otp {
		top: 126px;
	}

	/*#container-body{
		height: 380px;
	    overflow-y: scroll;
	}*/
}

@media only screen and (max-width: 1200px) {
	/* For desktop: */
	.icon_home {
		right: 60px;
		top: 0px;
		font-size: 1vw;
	}
	.text_icon_home {
		margin-top: -50px;
	}
	.text_icon_home>.fs-6 {
		font-size: 14px !important;
	}
	#invia-otp {
		top: 92px;
		margin-top: -50px;
	}
	#descrizione-invia-otp {
		line-height: 11pt;
		font-size: 12px;
		width: 200px;
		left: 40px;
		top: 15px;
	}
}

@media only screen and (max-width: 992px) {
	/* For desktop: */
	.icon_home {
		top: -7px;
		right: 50px;
		font-size: 1vw;
	}
	.text_icon_home {
		margin-top: -50px;
		padding-right: 25px;
	}
	.text_icon_home>.fs-6 {
		font-size: 11px !important;
	}
	#home {
		display: none;
	}
	#home_menu {
		display: block;
	}
	#navbarNav {
		position: inherit;
	}
	#invia-otp {
		margin-top: -50px;
	}
	#descrizione-invia-otp {
		width: 165px;
		top: 8px;
	}
}

@media only screen and (max-width: 768px) {
	/* For desktop: */
	.text_icon_home {
		margin-top: -45px;
	}
	.text_icon_home>.fs-6 {
		font-size: 1rem !important;
	}
	#descrizione-invia-otp {
		display: block;
	}
	#invia-otp {
		right: 50px;
		width: 70%;
		bottom: 150px;
	}
	#descrizione-invia-otp {
		line-height: 14pt;
		font-size: 14px;
		width: 50%;
		left: 90px;
		top: 150px;
	}
	#container_actions {
		display: none;
	}
	#container_actions_mobile {
		display: block;
	}
}

@media only screen and (max-width: 576px) {
	/* For desktop: */
	.icon_home {
		right: 0px;
	}
	
	#subtitle_header {
		margin-left: 10px;
		margin-top: inherit;
		line-height: 1em;
		font-size: 13px;
		text-align: center;
	}
	
	.home#container-body {
	    height: calc(100vh - 270px);
	}
	
	#container-body {	
		margin-bottom: 90px !important;	
	}
	
	
	footer {
		min-height: 80px;
	}
	footer .float-start {
		float: right !important;
	}
}