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



@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Light.eot');
    src: url('../fonts/Roboto-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Light.woff2') format('woff2'),
        url('../fonts/Roboto-Light.woff') format('woff'),
        url('../fonts/Roboto-Light.ttf') format('truetype'),
        url('../fonts/Roboto-Light.svg#Roboto-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.eot');
    src: url('../fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Regular.woff2') format('woff2'),
        url('../fonts/Roboto-Regular.woff') format('woff'),
        url('../fonts/Roboto-Regular.ttf') format('truetype'),
        url('../fonts/Roboto-Regular.svg#Roboto-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Bold.eot');
    src: url('../fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Bold.woff2') format('woff2'),
        url('../fonts/Roboto-Bold.woff') format('woff'),
        url('../fonts/Roboto-Bold.ttf') format('truetype'),
        url('../fonts/Roboto-Bold.svg#Roboto-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Black.eot');
    src: url('../fonts/Roboto-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Roboto-Black.woff2') format('woff2'),
        url('../fonts/Roboto-Black.woff') format('woff'),
        url('../fonts/Roboto-Black.ttf') format('truetype'),
        url('../fonts/Roboto-Black.svg#Roboto-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-Regular.eot');
    src: url('../fonts/Outfit-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-Regular.woff2') format('woff2'),
        url('../fonts/Outfit-Regular.woff') format('woff'),
        url('../fonts/Outfit-Regular.ttf') format('truetype'),
        url('../fonts/Outfit-Regular.svg#Outfit-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Outfit';
    src: url('../fonts/Outfit-ExtraBold.eot');
    src: url('../fonts/Outfit-ExtraBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Outfit-ExtraBold.woff2') format('woff2'),
        url('../fonts/Outfit-ExtraBold.woff') format('woff'),
        url('../fonts/Outfit-ExtraBold.ttf') format('truetype'),
        url('../fonts/Outfit-ExtraBold.svg#Outfit-ExtraBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Regular';
    src: url('../fonts/Montserrat-Regular.eot');
    src: url('../fonts/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Montserrat-Regular.woff2') format('woff2'),
        url('../fonts/Montserrat-Regular.woff') format('woff'),
        url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat-Bold';
    src: url('../fonts/Montserrat-Bold.eot');
    src: url('../fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Montserrat-Bold.woff2') format('woff2'),
        url('../fonts/Montserrat-Bold.woff') format('woff'),
        url('../fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


body {
  font-family: 'Montserrat-Regular';
  font-weight: normal;
  font-style: normal;	
  font-size: 1.2rem;
  line-height: 1.2;
  color:#004c69;
}

.bg {
	background-color: #004c69;
}

.font_outfit {
	font-family: 'Outfit';
}

.font_black {
	font-weight: 900 !important;
}

strong {
	font-weight: bold;
}

h1.ict {
	font-family: 'Montserrat-Bold';
	font-style: normal;
	color: #ffff;
	margin: 0px;
	text-align: center;
}

h1 {
	font-family: 'Montserrat-Bold';
	color:#ffff;
	margin:0px;
}

@media (max-width: 768px) {
	h1 {
	font-size:27px;
	}
}

h2 {
	font-family: 'Montserrat-Bold';
    font-style: normal;
	color: #ffff;
	margin: 0px;
	text-align: center;
}

h3 {
	font-family: 'Montserrat-Bold';
    font-style: normal;
	color: #ffff;
	margin:0px;
}

@media (max-width: 1024px) {
	h3 {
	font-size:25px;
}
}

@media (max-width: 768px) {
	h3 {
	font-size:19px;
}
	.cc-window {
	font-size: 13px !important;
	line-height: 1.3em !important;
}
}

h5 {
    font-style: normal;
	font-size: 14px;
	color: #ffff;
	text-align: center;
	margin: 0px;
}

.row {
	margin-right: 0px;
	margin-left: 0px;
}
#errore {
	color: #ff0000;
	font-weight: bold;
	text-align: center;
	font-size: 1.5em;
  }

a {
 	text-decoration: underline;	
}

a:hover {
	 text-decoration: underline;
}

a:focus {
	 text-decoration: underline;
}

.button {
	color: #ffff;
	background: #004c69;
	border: 0px solid transparent;
	outline: none;
	border-radius: 45px;
	font-family: 'Montserrat-Bold';
	font-size: 2.2rem;
	padding: .5rem 2.5rem;
	width: max-content;
	max-width: 300px;
}
.button:hover {
	background-color: #004c69;
    outline: 4px solid ffff !important;
    outline-offset: 5px;
	color:#fff;
}

.button:focus, .button:focus-visible {
    background-color: #004c69;
    outline: 4px solid #ffff !important;
    outline-offset: 5px;
}

@media (max-width:375px) {
	.button, .button2 {
		font-size: 1.6rem;
	}
}

small {
	font-size: 15px;
	line-height: 1;	
}

.title {
	font-family: 'Montserrat-Bold';
	color: #ffff;
}

/*
.big2 {
	font-size: 2rem;	
}

.big {
	font-size: 2.6rem;
}
@media (max-width:1199px) {
	.big {
		font-size: 2.3rem;
	}
}

.red {
	color: #e30323;
}

.glow {
	color: #FFFFFF;
	text-shadow: 0 0 10px #FFFFFF;
	font-weight: 600;
}
.bg_blu {
    background: linear-gradient(to right, #007dc3 0%,  #07b3eb 25%, #1c3f88 100%);
}

.bg_red {
	background-color: #d2232a;
	clip-path: polygon(10% 2%, 96% 0, 100% 100%, 4% 95%);
}
*/
@media(min-width:290px) {
.container_meccanica {
	max-width: 100%;
}
.container_meccanica > .row {
		justify-content: center !important;
}	
}

@media(min-width:1250px) {
.container_meccanica {
	max-width: 1320px;
}
}

/* ==============================
		MECCANICA
	============================= */


.bg_blu2 {
	background: #00ade9;
	background: -moz-linear-gradient(top,  #00ade9 0%, #263184 100%);
	background: -webkit-linear-gradient(top,  #00ade9 0%,#263184 100%);
	background: linear-gradient(to bottom,  #00ade9 0%,#263184 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ade9', endColorstr='#263184',GradientType=0 );
}
.bg_grey {
	background-color: #fbfbfb;
}


/* .step::before {
	content: url("../img/separatore.png");
	width: 30px;
	position: absolute;
	margin-top: 5rem;
	margin-left: -1.5rem;
}
@media(max-width:767px) {
	.step::before {
	content: url("../img/separatore_or.png");
	width: 98px;
	position: relative;
	margin-top: 0rem;
	margin-left: 43%;
	}
} */


.box {
  /*width: 200px; height: 300px;*/
  position: relative;
  /*border: 1px solid #BBB;
  background: #EEE;*/
}
@media(max-width:768px) {
	.box {
		margin-bottom: 5rem;
	}
}

.ribbon {
  position: absolute;
  left: 62px;
  top: -10px;
  z-index: 1;
  overflow: hidden;
  width: 420px;
  height: 90px;
  text-align: right;
}

@media(max-width:1199px) {
	.ribbon {
	  left: 72px;
	  width: 360px;
	  height: 85px;
	}
}

@media(max-width:992px) {
	.ribbon {
	  left: 20px;
	}
}
@media(max-width:575px) {
	.ribbon {
	  width: 290px;
	}
}
@media(max-width:350px) {
	.ribbon {
	  left: 5px;
	}
}

.ribbon h2 {
	font-size: 54px;
	font-weight: normal;
	color: #FFF;
	text-align: center;
	line-height: 54px;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	width: 420px;
	display: block;
	filter: drop-shadow(0 3px 10px -5px rgba(0, 0, 0, 1));
	/* box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1); */
	position: absolute;
	top: 17px;
	left: -19px;
	background: linear-gradient(to right, #007dc3 20%, #07b3eb 35%, #1c3f88 100%);
	clip-path: polygon(11.57% 0%, 90.78% 0%, 94.26% 100%, 4.26% 100%);
}

@media(max-width:1199px) {
	.ribbon h2 {
	  font-size: 44px;
	  line-height: 48px;
	  width: 380px;
	}
}

@media(max-width:575px){
	.ribbon h2 {
	  font-size: 30px;
	  line-height: 38px;
	  width: 280px;
	  top: 16px;
	  left: -14px;
	}	
}




/*  ====================
		    BANNER
	====================   */

header {
	background-color: #004c69;
}

.logo_banner {
	transform: translateX(2%);
}

.sx {
	z-index: 1;
}

.dx {
	position: absolute;
	top: 25rem;
	right: 2%;
	/*transform: translateX(-28%);
  	width: 130%;
	padding-top: 2rem;*/
}

.text_blu {
	color: #ffff;
	line-height: 1;
}

.bg_white {
	background-color: #ffffff;
	border-radius: 8px;
}

.banner_title_2 {
	color: #ffff;
	font-size: 5.5rem; 
}

.banner_title_1 {
	color: #ffff;
	font-weight: 300;
	font-size: 4rem;
}

.big3 {
	font-size: 6rem;
}

@media (max-width: 1660px) {
	.dx img {
		width: 70%;
	}
	.banner_title_2 {
		font-size: 4rem; 
	}
	
	.banner_title_1 {
		font-size: 3rem;
	}
}



@media (max-width: 1199px) {
	.logo_banner {
  transform: translateX(6%);
	}
	.dx {
	transform: translateX(-30%);	
}
	.dx img {
		width: 90%;
	}
	.big3 {
		font-size: 10.5rem;
	}
		.banner_title_2 {
		font-size: 3.5rem; 
		padding-left: 3rem;	
	}
	
	.banner_title_1 {
		font-size: 2.7rem;
	}
	
}

@media (max-width: 991px) {
	.dx {
	transform: translateX(-32%);
  	width: 140%;
}
	.banner_title_2 {
		font-size: 3.3rem; 	
	}
	.banner_title_1 {
		font-size: 2.5rem;
	}
	
}


@media (max-width: 768px) {
		.logo_banner {
  transform: translateX(0%);
	}
		.dx {
	transform: translateX(0%);
	transform: translateY(-1.8rem);	
	width: 100%;	
	padding: 0px !important;	
}
	
	.dx img {
		width: 100%;
}
	
	.banner_title_1 {
	font-size: 2.5rem;
}
	.banner_title_2 {
	font-size: 4rem;
    padding: 10px 0px;
	margin: 10px 0px;
}

}

@media (max-width: 575px) {
		.dx {
	transform: translateY(-1rem);	
}
	.big3 {
		font-size: 7.5rem;
	}
	.banner_title_1 {
	font-size: 1.7rem;
}	
	.banner_title_2 {
	font-size: 2.5rem;
    padding: 15px 0px;
}

	.doc {
		font-size: .85rem;
	}
}

@media (max-width: 350px) {

	.banner_title_2 {
	font-size: 2rem;
    padding: 10px 0px;	
}	
}

/*  =====================
			MENU
	===================== */

/* Styles for the skip link when it's not focused */
.skip-to-main-content-link {
	position: absolute;
	/* Take it out of the normal document flow */
	left: -9999px;
	/* Move it far off-screen to the left */
	top: auto;
	/* Or specify a top value if needed */
	width: 1px;
	/* Minimize its size off-screen */
	height: 1px;
	/* Minimize its size off-screen */
	overflow: hidden;
	/* Hide any overflow if content somehow extends */
	z-index: 999;
	/* Ensure it's on top when visible */

	/* Basic styling for when it *is* visible */
	padding: 1em;
	background-color: #ffff;
	color: #004c69;
	text-decoration: none;
	/* Remove underline */
	white-space: nowrap;
	/* Prevent text from wrapping when off-screen */
	clip: rect(1px, 1px, 1px, 1px);
	/* Older method for visually hiding but keeping accessible */
	clip-path: inset(50%);
	/* Newer, better method for visually hiding but keeping accessible */
}

/* Styles for the skip link when it IS focused */
.skip-to-main-content-link:focus {
	position: absolute;
	/* Bring it back into the normal document flow for display */
	width: auto;
	/* Allow its width to adjust */
	height: auto;
	/* Allow its height to adjust */
	left: auto;
	/* Reset left position */
	transform: none;
	/* Reset any transforms */
	clip: auto;
	/* Reset clip */
	clip-path: none;
	/* Reset clip-path */

	/* Center it horizontally */
	display: block;
	/* Make it a block element to take full width */
	margin: 0 auto;
	/* Center it */
	text-align: center;
	/* Center the text */

	/* Add some visible styles for focus */
	outline: 2px solid #007bff;
	/* Clear focus indicator */
	border-radius: 5px; }

#sito_cliente > img, #sito_cliente_footer > img {
	width: 120px !important;
}

#attiva_menu {
	font-size: 2rem;
	margin-top: 1rem;
}

#menu {
	background-color: #ffffff;
}

#menu_list li {
	list-style-type: none;
	float: left;
	padding-left: 2%;
	padding-right: 2%;
}

#menu_list li a {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: .30rem 0rem;
}


@media (max-width: 991px) {
	#menu > .row > .col-12.col-lg {
		background-color: #ffff;
	}
	#menu_list li {
	float: none; 		
	}
	#menu_list li a {
	text-align: right;
}
}

.menu {
	font-family: 'Montserrat-Bold';
	text-align: right;
	color: #004c69;
	border-bottom: 3px solid transparent;
	border-radius:0px;
	font-size: 1.25rem;
	text-decoration:none;
}

@media (max-width: 1199px) {
	#menu_list {
	margin-left: 0px;	
	}
}

@media (max-width:991px) {
	.menu {
	color: #004c69;
	background: #ffffff;
	border: 0px solid #004c69;
	}
	#menu_list li a {
	padding: 0rem;
	}
	#menu_list {
	margin-left: 0px;	
	}
}

.menu:hover {
	border-bottom: 3px solid #e30d13;
}
.active {
	border-bottom: 3px solid #004c69;
}

@media (max-width:991px) {
.menu:hover {
	color: #e30d13;
	border-bottom: 0px solid #004c69;
}
.active {
	color: #e30d13;
	border-bottom: 0px solid #004c69;
}
}


/***** FORM  *********************/

textarea {
	width: 100%;
	min-height: 150px !important;
	font-family: 'Roboto', sans-serif;	
    font-weight: normal;
    font-style: normal;
	color:#004c69;
	outline:none;
}

.form-control, .form-select {
	height: 35px !important;
	margin-bottom: 5px !important;
	margin-top: 5px !important;
	padding: .2rem !important;
	border-radius: 8px !important;
	border: 2px solid #96989a !important;
	color: #000000 !important;
}

.form-group {
	margin-bottom: 1.5rem;
}

a {
	color:#fff;
}

label.errore-test{
	color: #ff0000;
 /*prendere il colore dalla classe #errore*/
}

label a, #attiva_menu {
	font-weight: bold;
	color: #004c69;
	cursor: pointer;
}

label a:hover, #attiva_menu:hover {
	color: #004c69;
}

i {
	color: #d2232a;
	cursor: pointer;
}

i:hover {
	color: #244087;
}


@media (max-width: 575px) {
label {
	font-size: .80rem;
}
}


@media (max-width: 767px) {
.mobile {
	margin-top:30px;
}
}

.pulsanti {
	margin-top:15px;
}

.legal {
   font-family: 'Montserrat-Bold';
   font-style: normal;
	font-size:13px;
	color:#fff;
	text-align:center;
}

#mailto {
	word-break: break-all;
}

footer {
 font-family: 'Montserrat-Regular';
  font-size:0.8rem;
	color:#000;
  background-color:#ffffff;
  /*border-top: 2px solid #96989a;*/	
}

footer p {
  color:#000;
  font-family: 'Montserrat-Regular';
  font-size:0.8rem;
  text-align: center;	
	
}

footer p a {
	color: inherit;
	text-decoration:none;
	font-weight: bold;
	text-decoration:underline;
}

.component {
	background-color:#f7f6f6;	
	text-align: center;
}

.component a {
	color:#666363;
	font-weight: bold;
}

.component p {
	color:#666363;
	text-align: justify;
	text-decoration:underline;
}

.social {
	font-size:2.2rem;
	text-align: left;
}

@media (max-width:767px){
	.social {
	text-align: center;
}
}

/* ================== 
	MODAL SCONTRINO
   ================== */

.ict.modal-body {
	background-color: #244087;
}


/* =========================
	COOKIE BAR
	======================= */

	.cc-window {
		font-size: .85rem !important;
		line-height: 1.2em !important;
	}

	@media (max-width:767px) {
		.cc-window {
			font-size: .75rem !important;
			line-height: 1.1em !important;
		}
	}


.text-step1 {
	font-family: 'Montserrat-Bold';
	font-weight: 900;
	background-clip: text;
	margin:0;
	color:#e2c784;
	font-size:35px;
	margin:0;
}

.text-step2 {
	font-family: 'Montserrat-Bold';
	font-weight: 900;
	color:#e2c784;
	font-size: 35px;
	margin:0;
}

.text-step3 {
	font-family: 'Montserrat-Bold';
	font-weight: 900;
	color:#e2c784;
	font-size: 35px;
	margin:0;
}

.sfondo {

	background:#fff;
}

.titolo_form {
	color:#004c69 !important;
}

.bi-info-circle::before {
  content: "\f431";
  color: #004c69;
}

.form-control:focus, .form-select:focus {
            outline: 3px solid #005fcc; /* High contrast color for focus */
            outline-offset: 2px; /* Space between the outline and the element */
        }