body {
	font-family: 'Montserrat', sans-serif;
	color: #4A4A4A;
}

img {
	width: 60%;
}

i {
	padding-bottom: 5px;
}

svg {
	overflow: hidden;
	vertical-align: middle;
}

#svg_path #path {
	fill: #fff;
}

hr {
	max-width: 300px;
	margin: 0;
	border-top: 2px solid #e5e5e5;
}

a:hover {
	text-decoration: none;
	cursor: pointer;
}

form input {
	border: 0;
	border-bottom: 1px solid grey;
	padding-bottom: 5px;
	width: 100%;
}

form input:disabled {
	border: 0;
}

form input:focus-visible {
	outline: 0;
}

.text-bold {
	font-weight: bold;
}

.underline {
	border-bottom: 2px solid #c2012c;
}

.red-star {
	color: #C2012C;
}

.form-container {
	min-width: 200px;
}

.header-absolute {
	padding-bottom: 140px;
}

/******* HEADER *******/
header {
	padding-bottom: 0 !important;
	color: #fff;
	position: relative;
	font-size: 1.6rem;
}

header .row > div {
	padding-top: 20px;
}


.logo-col {
	max-width: 140px;
}

.header svg {
	width:100%;
}

.header-relative {
	position: relative;
	width:100%;
}
.header-absolute {
	position: absolute;
	width:100%;
	top:30px;
}
.right-header-grid {
	text-align:right;
}

.back-container a {
	color:white;
}

.tab {
	max-width: 300px;
}

.tab span {
	display: inline-block;
	width: 100%;
	white-space: nowrap;
}

/* Index */
.index header {
	background-color: #C2012C;
}

/* Homepage */
.homepage header .row {
	background-image: url(../images/top_menu_new.svg);
    background-repeat: no-repeat;
    background-position: 250px -20px;
    background-size: 100% 100%;
    height: 140px;
}

@media (max-width : 767px) {
	div.box_image {
		display: none;
	}
}

/******* CONTENT *******/
#main-section {
	position: relative;
}

.title-container {
	margin-top:5%;
}
#main_title {
    font-size: 4.2rem;
    color: #FFFFFF;
    letter-spacing: 0;
    line-height: 4.6rem;
    font-weight: normal;
    padding-bottom: 15px;
}
#main_title h1{
	margin-top: 5px;
}
.main_sponsor {
		color: #FFFFFF;
}
.password-text, .password-link {
	color:#FFFFFF;
	font-size:1.2em;
}
.password-link a {
	color:#FFFFFF;
	text-decoration: underline;
	font-weight:bold;
	font-size:0.8em;
}

.box_image {
	margin-top: -14%;
	width: 450px;
}

.box_image img {
	width: 80%;
}

.box_image p {
	text-align: center;
	font-weight: bold;
	font-size: 32px;
	color: #C2012C;
}

/* Index */
.index #main-section {
	background-color: #C2012C;
}

/* Homepage */
.homepage #main-section .text-container .text-user {
	padding-bottom: 30px;
}

.homepage #main-section .text-container .text-user p {
	margin: 0;
}

.homepage #main-section .text-container .tab > span {
	text-transform: uppercase;
    font-size: 14px;
    margin-right: 25px;
    color: #c2012c;
    font-weight: 600;
}

.homepage #main-section .text-container .tab > span:hover {
	cursor: pointer;
}

.homepage #main-section .text-container .tab-container > div {
	width: 200px;
}

.password-recovery #main-section .text-container .tab-container > div, .login #main-section .text-container .tab-container > div, .homepage #main-section .text-container .select-container {
    width: 300px;
}

.homepage #main-section .text-container .select-container {
	margin-top: 10px;
	margin-bottom: 10px;
}

.homepage #main-section .text-container .select-container select {
	border-radius: 5px;
    border-color: #3e3e3e24;
	background-color: white;
	width: 120px;
}

.homepage #main-section .text-container .select-container select:focus-visible {
	outline: 0;
}

.homepage #main-section .text-container .tab-container > div * {
	width: 100%;
}

.homepage #main-section .text-container .tab-container-text {
	font-size: 12px;
}

/******* FOOTER *******/
#footer {
	position: fixed;
    width: 100%;
    bottom: 0;
}

#footer .footer-container {
	/* margin-top: 50px; */
	padding:20px;
	border-top: 1px solid #d9d7d7;
	text-align:center;
	background-color: #fff;
}
#footer .footer-title {
	font-weight:bold;
	margin-bottom:10px;
}
#footer .footer-content {
	font-size:0.9em;
	line-height:1.2em;
}

/******* GENERALI *******/
/* Text-button */
.text-button-container {
	margin-bottom: 20px;
}
.text-button {
	color: #FFFFFF;
	position: relative;
	text-decoration: none;
}

a.text-button, input.text-button {
    border: 1px solid #fff;
    color: #fff;
    padding: 10px 15px;
    text-transform: uppercase;
	text-align: center;
    letter-spacing: 1.5px;
    display: inline-block;
    width: auto;
    font-size: 1.2rem;
}

a.text-button.reverse, input.text-button.reverse {
    /* border: 0; */
    color: #fff;
	background-color: #C2012C;
}

a.text-button.reverse2, input.text-button.reverse2 {
    border: 0;
    color: #fff;
	background-color: #646464;
}

input.text-button.reverse {
	border: 1px solid #C2012C;
}

/* a.text-button:after, input.text-button:after {
	content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #C2012C;
    transition: width .3s;
} */
a.text-button:hover:after, input.text-button:hover:after {
	width: 100%;
}
a.text-button:hover, input.text-button:hover {
	background-color: #fff !important;
    color: #C2012C;
    text-decoration: none;
	border: 1px solid #C2012C;
}

/* Round-button */
.round-button {
	position: relative;
    display: inline-block;
    width: 60px;
    height: 60px;
	background-color: white;
    border-radius: 50%;
	margin-left: 5px;
}

.round-button a {
	color:#C2012C !important;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	text-align: center;
}

.round-button i {
	font-size: 20px;
}

.round-button p {
	font-size: 10px;
	text-transform: uppercase;
	margin: -5px 0 0 0;
}

.icon-color-red { filter: brightness(0) saturate(100%) invert(10%) sepia(98%) saturate(5558%) hue-rotate(341deg) brightness(84%) contrast(103%); }

/* MEDIA QUERIES */
@media only screen and (max-width: 580px) {
	.round-button {
		width: 40px;
		height: 40px;
	}
	.round-button i {
		padding-bottom: 0;
	}

	.round-button p {
		display: none;
	}

	.form-container > *{
		width: 100%;
	}

	input.text-button.reverse {
		width: 100%;
		border: 1px solid #C2012C;
	}

	.homepage #main-section .text-container .tab-container > div {
		width: 100%;
	}

	.password-recovery #main-section .text-container .tab-container > div, .login #main-section .text-container .tab-container > div {
		width: 100%;
	}
}

/* Extra small devices Phones (<768px) xs */
@media only screen and (max-width: 767px) {
	.round-button {
		margin-left: 0px;
	}

	.homepage header .row {
		background-position: 35px -22px;
    	height: 140px;
	}

	#main-section svg {
		padding-top: 250px;
	}

	#main-section .title-container {
		text-align: center;
	}
	#main-section .title-container .box_image {
		margin-top: 0%;
		margin: auto;
		max-width: 450px;
	}
}

/* Small devices Tablets (≥768px) sm */
@media only screen and (min-width: 767px) and (max-width: 991px) {
	.homepage header .row {
		background-position: 100px -20px;
    	height: 140px;
	}

	#main-section svg {
		padding-top: 250px;
	}
}

/* Medium devices Desktops (≥992px) md */
@media only screen and (max-width: 1199px) {
}

/* Large devices Desktops (≥1200px) lg */
@media only screen and (min-width: 1200px) {
}
