@import
	url("https://fonts.googleapis.com/css?family=Inter:400,400i,700,700i&display=swap")
	;

@font-face {
	font-family: 'GilroyBold';
	src: url("../fonts/GilroyBold.eot");
	src: url("../fonts/GilroyBold.eot") format("embedded-opentype"),
		url("../fonts/GilroyBold.woff2") format("woff2"),
		url("../fonts/GilroyBold.woff") format("woff"),
		url("../fonts/GilroyBold.ttf") format("truetype"),
		url("../fonts/GilroyBold.svg#GilroyBold") format("svg");
}
:root {
	--primary-color: #9B253B;
	--primary-color-light: #df545f;
	--primary-color-dark: #7a1e2d;
}
html{
	height: 100%;
}
body {
	font-family: "Inter", sans-serif;
	font-weight: normal;
	font-style: normal;
	color: #575757;
	/* background: rgb(200,219,243);
	background: linear-gradient(180deg, rgba(229,241,255,1) 0%, rgba(255,255,255,1) 200px);
	background-repeat: no-repeat; */
	min-height: 100%; 
}
body .mainblock{
	min-height: 500px;
}

* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

img {
	max-width: 100%;
}

a:focus, input:focus, textarea:focus, button:focus {
	text-decoration: none;
	outline: none;
}

a:focus, a:hover {
	text-decoration: none;
	color: white;
}

i, a {
	display: inline-block;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Inter";
	font-weight: 700;
	color: #000000;
	margin: 0px;
}

h1 {
	font-size: 48px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 22px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

ul, ol {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}

p {
	font-size: 16px;
	font-weight: 400;
	color: #575757;
	margin: 0px;
}

.bg_cover {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	width: 100%;
}

/*===== All Button Style =====*/
.main-btn {
	display: inline-block;
	font-weight: 700;
	font-style: italic;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border: 2px solid var(--primary-color);
	padding: 0 1rem;
	font-size: 30px;
	line-height: 60px;
	color: #fff;
	cursor: pointer;
	z-index: 5;
	border-radius: 10px;
	text-transform: uppercase;
	/* -webkit-transition: all 0.4s ease-out 0s;
	-moz-transition: all 0.4s ease-out 0s;
	-ms-transition: all 0.4s ease-out 0s;
	-o-transition: all 0.4s ease-out 0s;
	transition: all 0.4s ease-out 0s; */
	background-color: var(--primary-color);
}

.main-btn:disabled, .main-btn:disabled:hover {
	border-color: #808080;
	background-color: #808080;
}

.arrow-right {
	width: 0; 
	height: 0; 
	display: inline-block;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	
	border-left: 22px solid white;
	margin-left: 15px;
  }

  .arrow-left {
	width: 0; 
	height: 0; 
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent; 
	border-right:15px solid black; 
	margin-right: 15px;
	display: inline-block;
  }
/* 
.main-btn::after {
	content: url("/assets/images/arrow-white.svg");
	vertical-align: middle;
	margin-left: 10px;
} */

.main-btn:hover {
	border-color: var(--primary-color-dark);
	background-color: var(--primary-color-dark);
}

.section-title span{
	color: var(--primary-color);
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 700;
	padding-bottom: 5px;
	z-index: 6;
	position: relative;
}

.section-title .title {
	font-size: 70px;
	font-weight: 700;
	text-transform: capitalize;
	position: relative;
	z-index: 5;
	margin-bottom: 33px;
}

@media ( max-width : 767px) {
	.section-title .title {
		font-size: 44px;
	}
}

@media ( max-width : 767px) {
	.section-title .title {
		font-size: 36px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.section-title .title {
		font-size: 54px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.section-title .title::before {
		font-size: 145px;
	}
}

@media ( max-width : 767px) {
	.section-title .title::before {
		font-size: 60px;
		bottom: 15px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.section-title .title::before {
		font-size: 120px;
	}
}

.section-title-2 {
	padding-bottom: 45px;
}

.section-title-2 .title {
	font-size: 60px;
	margin-top: -2px;
	padding-bottom: 5px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.section-title-2 .title {
		font-size: 48px;
	}
}

@media ( max-width : 767px) {
	.section-title-2 .title {
		font-size: 38px;
	}
	.sub-menu {
		width: 225px !important;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.section-title-2 .title {
		font-size: 57px;
	}
}

.section-title-2 p {
	font-size: 16px;
}

.mt-m2 {
	margin-top: -20px;
}

/*--------------------------------------------------------------------------------------
PRELOADER
--------------------------------------------------------------------------------------*/
.preloader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #0c59db;
	z-index: 9999999;
	text-align: center;
}

.loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 40px;
	display: flex;
	align-items: center;
}

.line {
	width: 5px;
	height: 40px;
	background: #fff;
	margin: 0 3px;
	border-radius: 10px;
	animation: loading 0.8s infinite;
}

.line:nth-child(2) {
	animation-delay: 0.1s;
}

.line:nth-child(3) {
	animation-delay: 0.2s;
}

.line:nth-child(4) {
	animation-delay: 0.3s;
}

.line:nth-child(5) {
	animation-delay: 0.4s;
}

.line:nth-child(6) {
	animation-delay: 0.5s;
}

.line:nth-child(7) {
	animation-delay: 0.6s;
}

.line:nth-child(8) {
	animation-delay: 0.7s;
}

@
keyframes loading { 0% {
	height: 0;
}

50%
{
height
:
 
40
px
;
 
}
100%
{
height
:
 
0;
}
}
/*===========================
    2.HEADER css 
===========================*/
.header-top {
	position: relative;
	background: #0c59db;
}

@media ( max-width : 767px) {
	.header-top {
		padding-left: 0;
		padding-right: 0;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-top {
		padding-left: 30px;
		padding-right: 30px;
	}
}

.header-top .header-left-side {
	position: relative;
}

.header-top .header-left-side ul li {
	display: inline-block;
}

.header-top .header-left-side ul li a {
	color: #fff;
	line-height: 40px;
	margin-right: 40px;
	font-size: 14px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-top .header-left-side ul li a {
		margin-right: 15px;
	}
}

@media ( max-width : 767px) {
	.header-top .header-left-side ul li a {
		margin-right: 25px;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-top .header-left-side::before {
		right: -220px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-top .header-left-side::before {
		transform: skew(45deg);
	}
}

@media ( max-width : 767px) {
	.header-top .header-left-side::before {
		display: none;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-top .header-left-side::before {
		transform: skew(45deg);
		right: -200px;
		display: block;
	}
}

.header-top .header-right-social {
	position: relative;
}

.header-top .header-right-social ul li {
	display: inline-block;
}

.header-top .header-right-social ul li a {
	color: #fff;
	margin-left: 24px;
	line-height: 40px;
}


@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-top .header-right-social::before {
		left: -170px;
	}
}

@media ( max-width : 767px) {
	.header-top .header-right-social::before {
		display: none;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-top .header-right-social::before {
		left: -200px;
		display: block;
	}
}

.header-nav {
	-webkit-box-shadow: 0 0 18px 1px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0 18px 1px rgba(0, 0, 0, 0.1);
}

.header-nav .navigation {
	position: absolute;
	top: 2px;
	right: 0;
	left: 0;
	background: #fff;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 5px;
	z-index: 99;
}

.title-container {
	display: flex;
	flex-direction: column;
	margin-left: 5px;
	color: white;
	width: 100%;
}

.header-title {
	text-transform: uppercase;
	font-size: 36px;
	display: flex;
	line-height: 36px;
	margin-top: 10px;
}

.header-description {
	white-space: pre-line;
	font-size:14px;
	line-height: 20px;
}

.cursor-default {
	cursor: default;
}

.nav-link {
	font-size: 16px;
}

/* Le voci del menu non vanno mai a capo. Sotto una certa larghezza la riga si stringe e il
   contenuto di una voce si spezza in due righe: quella voce diventa alta il doppio e, con
   align-items:center, la sua icona sale rispetto alle altre. Capitava all'utente perche' e'
   l'unica icona con un margine destro (mr-1), quindi la prima a non entrare. */
.navbar-items .nav-link {
	white-space: nowrap;
}

/* Sette voci con 1rem di spazio per lato vogliono circa 374px, ed e' sotto i 380 che la riga
   si spezza. Sui telefoni lo spazio ai lati scende all'80%, quanto basta a dare respiro senza
   stringere le voci una addosso all'altra. */
@media (max-width: 575.98px) {
	.navbar-items .nav-link {
		padding-left: 0.8rem;
		padding-right: 0.8rem;
	}
}

.nav-item {
	position: relative; 
	display: inline-block;
}

.sub-menu {
	position: absolute;
	right: 0;
	width: 260px;
	background-color: #fff;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	z-index: 99;
	-webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	-moz-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	border-radius: 10px;
}

.sub-menu-mobile {
	position: absolute;
	right: 0;
	width: 260px;
	background-color: #fff;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	z-index: 99;
	-webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	-moz-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	border-radius: 10px;
}

.nav-item:hover .sub-menu {
	visibility: visible;
	opacity: 1;
}

.sub-menu li > a, .sub-menu-mobile li > a, .sub-menu-mobile li > details > summary {
	width: 100%;
	color: #000000;
	font-size: 14px;
	padding: 8px 24px;
	line-height: 25px;
}

.sub-menu li:first-child > a {
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
}

.sub-menu li:last-child > a {
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

.sub-menu li > a:hover {
	color:white;
	background-color: var(--primary-color);
}

details > summary:first-of-type {
    list-style-type: none;
}

.nav-toggle {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 22px;
	width: 30px;
  }
  
  .nav-toggle .bar {
	height: 3px;
	width: 100%;
	background-color: white;
	transition: all 100ms ease-in-out;
  }
  
  .nav-toggle:hover {
	cursor: pointer;
  }
  
  .x:nth-of-type(1) {
	transition: all 100ms ease-in-out;
	transform: rotate(45deg);
	transform-origin: top left;
	width: 28px;
	margin-left: 5px;
  }
  
  .x:nth-of-type(2) {
	transition: all 100ms ease-in-out;
	transform-origin: center;
	width: 0;
  }
  
  .x:nth-of-type(3) {
	transition: all 100ms ease-in-out;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	width: 28px;
	margin-left: 5px;
  }

.social-container {
	padding-left: 25px;
	justify-content: space-between;
	width: 80px;
}

@media ( max-width : 992px) {
	.social-container {
		padding-left: 0;
		width: 50px;
	}
}

.social-container a i {
	font-size: 12px;
	color: white
}

body header.background {
	content: ' ';
	background: url(../images/default-background.png);
	position: absolute;
	width: 100%;
	height: 400px;
	background-repeat: no-repeat;
	background-size: cover;

}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation {
		top: 80px;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation {
		top: 80px;
		padding-left: 0;
		padding-right: 0;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-nav .navigation {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* .header-nav .navigation.sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: #fff;
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.04);
	z-index: 999;
	animation: sticky .4s;
}

.header-nav .navigation.sticky .navbar .navbar-nav .nav-item a {
	line-height: 80px;
} */

.header-nav .navigation .navbar {
	position: relative;
	padding: 0;
}

.header-nav .navigation .navbar .country-flag img {
	border: 5px solid #fff;
	border-radius: 6px;
	box-shadow: 0px 8px 16px 0px rgba(60, 110, 203, 0.2);
}

.header-nav .navigation .navbar .navbar-toggler .toggler-icon {
	width: 30px;
	height: 2px;
	background-color: #002249;
	margin: 5px 0;
	display: block;
	position: relative;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

.header-nav .navigation .navbar .navbar-toggler.active .toggler-icon:nth-of-type(1)
	{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 7px;
}

.header-nav .navigation .navbar .navbar-toggler.active .toggler-icon:nth-of-type(2)
	{
	opacity: 0;
}

.header-nav .navigation .navbar .navbar-toggler.active .toggler-icon:nth-of-type(3)
	{
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
	top: -7px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-collapse {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: #fff;
		z-index: 8;
		padding: 10px 16px;
		box-shadow: 0 26px 48px 0 rgba(0, 0, 0, 0.15);
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-collapse {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background-color: #fff;
		z-index: 8;
		padding: 10px 16px;
		box-shadow: 0 26px 48px 0 rgba(0, 0, 0, 0.15);
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav {
		margin-right: 0;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav {
		margin-right: 0;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item {
	position: relative;
	margin-top: 10px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item {
		margin-right: 18px;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item a {
	font-size: 16px;
	font-weight: 700;
	padding: 0 30px;
	/* color: #4f79a9; */
	text-transform: uppercase;
	position: relative;
	/* -webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s; */
	margin: 0;
	/* line-height: 120px; */
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item a {
		font-size: 15px;
		padding: 0 5px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item a {
		padding: 0;
		display: block;
		border: 0;
		margin: 0;
		line-height: 40px;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item a {
		padding: 0;
		display: block;
		border: 0;
		margin: 0;
		line-height: 40px;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item a span {
	padding-left: 5px;
	font-size: 15px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item a span {
		display: none;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item a span {
		display: none;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu {
	position: absolute;
	right: 0;
	top: 110%;
	width: 260px;
	background-color: #fff;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	z-index: 99;
	-webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	-moz-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.16);
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu {
		position: relative !important;
		width: 100% !important;
		left: 0 !important;
		top: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		display: none;
		right: auto;
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: all none ease-out 0s;
		-moz-transition: all none ease-out 0s;
		-ms-transition: all none ease-out 0s;
		-o-transition: all none ease-out 0s;
		transition: all none ease-out 0s;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		text-align: left;
		border-top: 0;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu {
		position: relative !important;
		width: 100% !important;
		left: 0 !important;
		top: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		display: none;
		right: auto;
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: all none ease-out 0s;
		-moz-transition: all none ease-out 0s;
		-ms-transition: all none ease-out 0s;
		-o-transition: all none ease-out 0s;
		transition: all none ease-out 0s;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		text-align: left;
		border-top: 0;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li {
	position: relative;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li .sub-nav-toggler
	{
	color: #002249;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a {
	display: block;
	padding: 8px 24px;
	position: relative;
	color: #555;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
	border-radius: 0;
	margin: 0 0;
	line-height: 30px;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a i {
	float: right;
	font-size: 14px;
	margin-top: 5px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a i {
		display: none;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a i {
		display: none;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a .sub-nav-toggler i
	{
	display: inline-block;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li .sub-menu
	{
	right: auto;
	left: 100%;
	top: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li .sub-menu
		{
		padding-left: 30px;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li .sub-menu
		{
		padding-left: 30px;
	}
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li:hover .sub-menu
	{
	top: 80%;
	opacity: 1;
	visibility: visible;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li:hover .sub-nav-toggler
	{
	color: #fff;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li:hover>a
	{
	background-color: var(--primary-color);
	color: #fff !important;
}

.header-nav .navigation .navbar .navbar-nav .nav-item:hover .sub-menu {
	opacity: 1;
	visibility: visible;
	top: 80%;
}

.header-nav .navigation .navbar .navbar-nav .nav-item .sub-nav-toggler {
	display: none;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-nav-toggler {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		padding: 10px 14px;
		font-size: 16px;
		background: none;
		border: 0;
		color: #002249;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-nav .nav-item .sub-nav-toggler {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		padding: 10px 14px;
		font-size: 16px;
		background: none;
		border: 0;
		color: #002249;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1600px) {
	.header-nav .navigation .navbar .navbar-btn {
		margin-right: 50px;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-nav .navigation .navbar .navbar-btn {
		margin-right: 30px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-nav .navigation .navbar .navbar-btn {
		position: absolute;
		right: 70px;
		top: 3px;
		margin-right: 0;
	}
}

@media ( max-width : 767px) {
	.header-nav .navigation .navbar .navbar-btn {
		display: none;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-nav .navigation .navbar .navbar-btn {
		position: absolute;
		right: 70px;
		top: 3px;
		margin-right: 0;
		display: block;
	}
}

.header-nav .navigation .navbar .navbar-btn .main-btn {
	color: #fff;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-nav .navigation .navbar .navbar-btn .main-btn {
		padding: 0 30px;
	}
}

.header-nav .navigation .navbar .navbar-btn .main-btn:hover {
	border-color: #0c59db;
	color: #0c59db;
}

.header-nav .navigation .navbar .navbar-btn a {
	color: #002249;
}

@
-webkit-keyframes sticky { 0% {
	top: -200px;
}

100%
{
top
:
 
0;
}
}
@
keyframes sticky { 0% {
	top: -200px;
}

100%
{
top
:
 
0;
}
}
.header-area-2 {
	overflow: hidden;
}

.header-area .header-top {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: transparent;
	border-bottom: 1px solid #99c2f6;
	z-index: 99;
}

@media ( max-width : 767px) {
	.header-area .header-top {
		display: none;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-top {
		display: block;
	}
}

.header-area .header-top .header-left-side::before {
	display: none;
}

.header-area .header-top .header-left-side ul li a {
	color: #6c90b9;
	line-height: 55px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-area .header-top .header-left-side ul li a {
		margin-right: 30px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-top .header-left-side ul li a {
		margin-right: 4px;
	}
}

.header-area .header-top .header-left-side ul li a i {
	padding-right: 6px;
}

.header-area .header-top .header-right-social::before {
	display: none;
}

.header-area .header-top .header-right-social ul li a {
	color: #6c90b9;
	line-height: 55px;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

.header-area .header-top .header-right-social ul li a:hover
	{
	/* color: #0c59db; */
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-top .header-right-social ul li a {
		margin-left: 20px;
	}
}

.header-area .header-nav .navigation {
	top: 2px;
	background-color: transparent;
}

@media ( max-width : 767px) {
	.header-area .header-nav .navigation {
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-nav .navigation {
		top: 70px;
		padding-left: 30px;
		padding-right: 30px;
	}
}

.header-area .header-nav .navigation .navbar .navbar-btn {
	margin-right: 0;
}

.header-area .header-nav .navigation .navbar .navbar-btn a
	{
	border-radius: 0;
}

/* .header-area .header-nav .navigation.sticky {
	background: #fff;
	top: 0;
}

.header-area .header-nav .navigation.sticky .navbar .navbar-nav .nav-item a
	{
	line-height: 40px;
} */

.header-area .header-top {
	background: #fff;
	border-bottom: 2px solid #ebebeb;
}

.header-area .header-top .header-left-side ul li a {
	color: #616161;
}

.header-area .header-top .header-left-side ul li a i {
	color: #0c59db;
}

.header-area .header-top .header-right-social ul li a {
	color: #aeaeae;
}

.header-area .header-top .header-right-social ul li a:hover
	{
	color: #0c59db;
}

.header-area .header-nav .navigation {
	background-color: transparent;
}


@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-nav .navigation {
		top: 57px;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-area .header-nav .navigation .navbar .navbar-nav .nav-item
		{
		margin-right: 0;
	}
}

.header-area .header-nav .navigation .navbar .navbar-nav .nav-item a
	{
	margin: 0 18px;
	padding: 0 0;
	color: #555;
	font-size: 16px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-area .header-nav .navigation .navbar .navbar-nav .nav-item a
		{
		font-size: 16px;
		margin: 0 16px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-area .header-nav .navigation .navbar .navbar-nav .nav-item a
		{
		padding: 5px 0;
	}
}

@media ( max-width : 767px) {
	.header-area .header-nav .navigation .navbar .navbar-nav .nav-item a
		{
		padding: 5px 0;
	}
}


.header-area .header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a
	{
	line-height: 50px;
	margin: 0;
	padding: 0 22px;
}

.header-area .header-nav .navigation .navbar .navbar-nav .nav-item .sub-menu>li a::before
	{
	display: none;
}

.header-area .header-nav .navigation .navbar .navbar-nav .nav-item.active a::before
	{
	width: 100%;
}


@media only screen and (min-width: 768px) and (max-width: 991px) {
	.header-area .header-nav .navigation .navbar .navbar-btn
		{
		top: 5px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.header-area .header-nav .navigation .navbar .navbar-btn
		{
		top: 5px;
	}
}

.header-area .header-nav .navigation .navbar .navbar-btn a
	{
	line-height: 55px;
	padding: 0 35px;
	border-radius: 5px;
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	.header-area .header-nav .navigation .navbar .navbar-btn a
		{
		font-size: 14px;
		padding: 0 10px;
	}
}

/* .header-area .header-nav .navigation.sticky .navbar .navbar-nav .nav-item a::before
	{
	width: 0;
} */


.main-area{
	flex: 1 0 auto;
	padding-top: 120px;
	display: flex;
	flex-direction: column;
}

/* .footer-area .footer-copyright {
	border-top: 1px solid #e2edf3;
	margin-top: 10px;
	text-align: center;
} */

.footer-area .footer-copyright p span {
	font-weight: 700;
	color: #002249;
	line-height: 55px;
}

.footer-area .footer-overlay {
	/* background-color: rgba(0, 21, 46, 0.9);
	padding-top: 30px; */
	text-transform: uppercase;
	border-top: #000000 solid 1px;
	font-size: 16px;
	width: 85%;
	margin: auto;
}

.footer-area  a {
	color: #020202;
}

.footer-area .footer-overlay .widget-item-1 p {
	color: #c2d1e2;
}

.footer-area .footer-overlay .widget-item-2 .title {
	color: #fff;
}

.footer-area .footer-overlay .widget-item-2 .footer-list ul li a
	{
	color: #c2d1e2;
}

.footer-area .footer-overlay .widget-item-2.widget-item-3 ul li
	{
	color: #c2d1e2;
}

.footer-area .footer-overlay .widget-item-2.widget-item-3 p
	{
	color: #c2d1e2;
}

.footer-area .footer-overlay .widget-item-2.widget-item-3 p span
	{
	color: #fff;
}

.footer-area .footer-overlay .widget-item-2.widget-item-3 a
	{
	color: #0c59db;
}

/* .footer-area .footer-copyright {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
} */

/* .footer-area .footer-copyright p {
	color: #c2d1e2;
}

.footer-area .footer-copyright p span {
	color: #fff;
} */

.footer-area .shape-1 {
	position: absolute;
	left: -50%;
	bottom: -85%;
	height: 700px;
	width: 700px;
	border-radius: 50%;
	background-color: rgba(0, 109, 232, 0.4);
}

.footer-area .shape-2 {
	position: absolute;
	right: -10%;
	bottom: 14%;
	height: 105px;
	width: 105px;
	border-radius: 50%;
	background-color: #006de8;
}

@media ( max-width : 767px) {
	.footer-area .shape-2 {
		right: -30%;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.footer-area .shape-2 {
		bottom: 5%;
	}
}

.footer-area .shape-3 {
	position: absolute;
	right: -3%;
	bottom: 33%;
	height: 33px;
	width: 33px;
	border-radius: 50%;
	background-color: rgba(0, 109, 232, 0.4);
	background-color: #00e8cf;
}

/* .footer-area.footer-area-3 .footer-overlay {
	background-color: #00152e;
}

.footer-area.footer-area-1 .footer-overlay {
	background-color: #00152e;
} */


.back-to-top {
	position: fixed;
	right: 30px;
	bottom: 30px;
	display: none;
	z-index: 1040;
}

.back-to-top a {
	color: #fff;
	background: #0c59db;
	height: 50px;
	width: 50px;
	text-align: center;
	line-height: 50px;
	font-size: 20px;
}


.form-area .input-box label {
	font-size: 20px;
	text-transform: uppercase;
	color: #000000;
	margin-bottom: 0;
	padding-left: 10px;
}

.form-area .input-box input, .form-area .input-box select{
	width: 100%;
	border: 1px solid #DED2D2;
	line-height: 60px;
	padding-left: 30px;
	color: #0f0f0f;
	background-color: #DED2D2;
	border-radius: 12px;
}

/* .form-area .input-box input:focus, .form-area .input-box select:focus, .form-area .input-box .select2-container.select2-container--open{
	border: 1px solid #aaa;	
} */

.form-area .input-box input::placeholder {
	opacity: 1;
	color: rgba(155,37,59,0.5);
}

.form-area .input-box textarea{
	width: 100%;
	border: 1px solid #DED2D2;
	height: 170px;
	padding-top: 15px;
	padding-left: 30px;
	padding-right: 30px;
	color: #0f0f0f;
	background-color: #DED2D2;
	resize: none;
	border-radius: 12px;
}
.form-area .input-box .select2-container > span > span{
	/* width: 100%;
	border: 1px solid #fff; */
	padding: 0 0 0 30px;
	/* Gli input di questo tema sono alti 62px (line-height 60 piu' i due bordi): il select2
	   stava a 70 ed era l'unico campo fuori riga. */
	height: 62px;
	/* color: #0f0f0f;
	border-radius: 0; */
	vertical-align: middle;
	width: 100%;
	border: 1px solid #DED2D2;	
	color: #0f0f0f;
	background-color: #DED2D2;
	border-radius: 12px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height: 60px;
	padding: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
	height: 60px;
	width: 40px;
	/* Niente riga di separazione: negli input di questo tema non c'e' niente del genere e su
	   uno sfondo #DED2D2 quel #f1f1f1 chiaro faceva sembrare la freccia un pulsante attaccato
	   al campo. Resta solo il triangolino, dentro la stessa casella. */
	border-left: none;
}

.form-area .input-box input[type="checkbox"], .form-area .input-box input[type="radio"]{
	width: auto;
	margin: 0 6px;
} 

.form-area .input-box textarea::placeholder {
	opacity: 1;
	color: rgba(155,37,59,0.5);
}

.form-area .input-box button {
	/* border-radius: 0;
	margin-top: 20px; */
	border-radius: 10px;
	width: 100%;
	background-color: var(--primary-color);
}

.form-area .input-box {
	position: relative;
}

.form-area .input-box > i {
	position: absolute;
	left: 15px;
	top: 60px;
}

form .error{
	border: 2px solid #ef0000 !important;
}

form label.error{
	border: none !important;
	color: #ef0000;
}

.section{
	background: #F7FCFF;
	padding: 20px;
}

.hard{
	color: var(--primary-color);
	font: 1.6em;
	font-weight: bold;
}

.hard:hover {
	color: var(--primary-color);
}

.btn, .modal .modal-content, .badge, .toast{
	border-radius: 0;
}
.toast{
	min-width: 200px;
}
.toast .toast-header.bg-danger{
	background-color: #ac0010 !important;
	border-bottom: 0;
}
.toast .bg-danger + .toast-body{
	background-color: #dc3545 !important;
	color: #fff;
}

.general-area {
	/* padding-top: 50px;
	padding-bottom: 120px; */
	/* padding-top: 340px;
	padding-bottom: 40px; */
	margin-top: 300px;
	margin-bottom: 50px;
	min-height: 500px;
}

.general-container {
	width: 85%;
	margin: auto;
}

.general-area .section-title .title {
	font-size: 60px;
	line-height: 70px;
}

@media ( max-width : 767px) {
	.general-area .section-title .title {
		font-size: 34px;
		line-height: 44px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.general-area .section-title .title {
		font-size: 52px;
		line-height: 62px;
	}
}

.general-area .section-title .title::before {
	display: none;
}

#mainWrapper{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.header-nav .navigation .navbar .navbar-nav .nav-item a:hover::before {
    width: 100%;
    right: auto;
    left: 0;
}
/* .header-nav .navigation .navbar .navbar-nav .nav-item a::before{
	width: 0%;
	height: 2px;
	background: #0c59db;
	position: absolute;
	content: '';
	top: -2px;
	right: 0;
	left: auto;
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
} */
.navbar-brand {
	border-radius: 10px;
}

.navbar-brand img{
	max-height: 100px;
	max-width: 400px;
	border-radius: 10px;
}

.checkboxBig{
	font-size: 16px;
}
.checkboxBig label{
	position: relative;
	line-height: 1.4;
}
.checkboxBig input[type=checkbox]{
	width: 1em;
	font-size: 20px;
	margin: 0;
	transform: translateX(-9999px);
}
.checkboxBig input[type=checkbox] + label:before{
	position: absolute;
	content: '';
	left: -2.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border:none;
	border-radius: 10%;
	background-color: #bbbbbb;
	transform: scale(2);
}
.checkboxBig input[type=checkbox] + label:after{
	position: absolute;
	content: '';
	left: -2.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: white;
	border-radius: 10%;
	transform: scale(1.8);
}
.checkboxBig input[type=checkbox]:checked + label:before{
	position:absolute;
	content:'';
	left: -2.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: #3b88fd;
}
.checkboxBig input[type=checkbox]:checked + label:after{
	position: absolute;
	content: "\2713";
	left: -2.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: #3b88fd;
	border-radius: 10%;
	color: white;
	text-align: center;
	line-height: 1;
}


#nav-btn-lang img{
	margin-top: -8px;
	/* Il markup fissa solo l'altezza e lascia libera la larghezza. Basta che il contenitore si
	   stringa - e da telefono, con sette voci in riga, si stringe - perche' img{max-width:100%}
	   accorci la larghezza mentre l'altezza resta quella: la bandiera si deforma. Fissandole
	   entrambe il rapporto resta quello del file (30x30) qualunque cosa faccia la riga. */
	width: 20px;
	max-width: none;
}

/* Il menu era fuori dal flusso (position:absolute): il blocco di logo e titolo occupava tutta
   la riga e da telefono ci finiva sotto. Da elemento normale spinto a destra il posto se lo
   contende, e quando i due non ci stanno in riga wrap-reverse manda a capo il logo lasciando
   il menu in alto. row-gap vale solo fra due righe, quindi lo stacco compare quando serve e
   non sposta niente finche' resta tutto in riga. */
.navbar-items {
	margin-left: auto;
}

.header-riga {
	flex-wrap: wrap-reverse;
	column-gap: 15px;
	row-gap: 12px;
}

/* Il logo ha una larghezza fissa nel markup: senza questo non si stringe mai e sui telefoni
   piu' stretti sborda dalla pagina. */
.navbar-brand img {
	max-width: 100%;
}

.circle {
	position: relative;
	height: 50px;
	width: 50px;
	border-radius: 100%;
	background-color: var(--primary-color);
	opacity: 55%;
}

.circle.active {
	opacity: 100%;
}

.circle svg {
	position: absolute;
	/* center svg inside circle */
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.line2 {
	position: relative;
	height: 1px;
	width: 130px;
	background-color: #FFFFFF;
	margin: 0 10px;
}
.pageTitleArea{
	height: 270px;
}
.pageTitleArea > div{
	width: 100%;
}
.pageTitle {
	color: white; 
	position: relative;
	padding-left: 7.5%; 
	padding-right: 20px;
	font-size: 20px;
	text-transform: uppercase;
}

.pageInfo {
	color: white; 
	position: relative;
 	font-size: 14px;
}
.pageInfo:last-child{
 	padding-right: 7.5%;
}
.pageLink {
	position: relative;
	padding-right: 7.5%;
	font-size: 14px;
	cursor: pointer;
	z-index: 1;
}

a.pageLink, .pageLink a{
	color: #FF647D;
}
@media (width <= 920px) {
	.pageLink{
		display: none;
	}
}

.footer-area  .footer-copyright {
	padding-top: 20px; 
	padding-bottom: 15px; 
	font-size: 12px;
	text-align: left;
}

@media (width <= 920px) {
	.line2 {
		width: 50px;
	}
}

@media only screen and (width < 992px) {
	.circle {
		position: relative;
		height: 50px;
		width: 25lvw;
		border-radius: unset;
		background-color: var(--primary-color-dark);
		opacity: unset;
	}
	
	.circle.active {
		opacity: unset;
		background-color: var(--primary-color);
	}
	.pageTitle {
		color: white; 
		position: relative;
		padding-left: 7.5%; 
		font-size: 20px;
	}
	
	.pageLink {
		color: #FF647D;
		position: relative;
		padding-right: 7.5%;
		font-size: 14px;
		cursor: pointer;
	}

	/* .container {
		width: 95% !important;
		margin: auto !important;
		padding: unset !important;
	}

	.footer-area .footer-overlay {
		width: 95%;
	} */
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
  }


.container {
	width: 85% !important;
	margin: auto !important;
	padding: unset !important;
}circle {
	position: relative;
	height: 50px;
	width: 50px;
	border-radius: 100%;
	background-color: var(--primary-color);
	opacity: 55%;
}

.circle.active {
	opacity: 100%;
}

.circle svg {
	position: absolute;
	/* center svg inside circle */
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.line2 {
	position: relative;
	height: 1px;
	width: 130px;
	background-color: #FFFFFF;
	margin: 0 10px;
}

.pageTitle {
	color: white; 
	position: relative;
	padding-left: 7.5%; 
	font-size: 20px;
}

.pageInfo {
	color: white; 
	position: relative;
 	font-size: 14px;
}

.pageLink {
	color: #FF647D;
	position: relative;
	padding-right: 7.5%;
	font-size: 14px;
	cursor: pointer;
}

.footer-area  .footer-copyright {
	padding-top: 20px; 
	padding-bottom: 15px; 
	font-size: 12px;
	text-align: left;
}

@media (width <= 920px) {
	.line2 {
		width: 50px;
	}
}

@media only screen and (width < 992px) {
	.circle {
		position: relative;
		height: 50px;
		width: 25lvw;
		border-radius: unset;
		background-color: var(--primary-color-dark);
		opacity: unset;
	}
	
	.circle.active {
		opacity: unset;
		background-color: var(--primary-color);
	}
	.pageTitle {
		color: white; 
		position: relative;
		padding-left: 7.5%; 
		font-size: 20px;
	}
	
	.pageLink {
		color: #FF647D;
		position: relative;
		padding-right: 7.5%;
		font-size: 14px;
		cursor: pointer;
	}

	/* .container {
		width: 95% !important;
		margin: auto !important;
		padding: unset !important;
	}

	.footer-area .footer-overlay {
		width: 95%;
	} */
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
  }


.container {
	width: 85% !important;
	margin: auto !important;
	padding: unset !important;
}

.passwordcontainer{
	display: flex;
}
.passwordcontainer > svg {
	margin-left: -40px;
	width: 40px;
	padding: 1px 8px;
	height: 70px;
	fill: #5E5E5E;
	border-radius: 0 12px 12px 0;
}
.passwordcontainer > svg:hover {
	background-color: #e8dede;
	fill: #000;
	cursor: pointer;
}

/* Cookie wall */
.cookie-wall {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2000;
	background-color: rgba(0, 0, 0, .6);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 15px;
}
.cookie-wall .cookie-wall-box {
	background-color: #fff;
	color: #333;
	border-radius: 6px;
	box-shadow: 0 0 20px rgba(0, 0, 0, .4);
	padding: 25px;
	max-width: 800px;
	width: 100%;
	max-height: 100%;
	overflow-y: auto;
}
.cookie-wall .cookie-wall-box p {
	margin-bottom: 10px;
}
.cookie-wall .cookie-wall-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 15px;
}

/* Popup di accesso */
.popup-accesso-body {
	position: relative;
}
.popup-accesso-close {
	position: absolute;
	top: 10px;
	right: 15px;
	z-index: 1;
}

/* ===== Widget del captcha (ALTCHA) =====
   Il widget arriva con la sua tavolozza chiara e squadrata: si riveste con quella del tema
   attraverso le sue variabili, così la casella "non sono un robot" non è l'unico riquadro
   estraneo della pagina. Vale ovunque compaia, dal cancello al riepilogo dell'ordine. */
altcha-widget {
	--altcha-color-base: #ede4e4;
	--altcha-color-base-content: #2a1a1e;
	--altcha-color-border: #d9c8c8;
	--altcha-border-color: #d9c8c8;
	--altcha-border-radius: 10px;
	--altcha-color-primary: var(--primary-color);
	--altcha-color-primary-content: #fff;
	--altcha-checkbox-border-color: var(--primary-color);
	--altcha-checkbox-border-radius: 4px;
	--altcha-checkbox-outline-color: var(--primary-color);
	--altcha-spinner-color: var(--primary-color);
	--altcha-color-success: var(--primary-color);
	--altcha-color-success-content: #fff;
	--altcha-color-error: #dc3545;
	/* Niente --altcha-max-width: si lascia il valore della libreria, 320px, che e' quello con
	   cui il widget si vede nell'altro tema. Forzandolo a 100% il riquadro si allargava per
	   tutto il contenitore, enorme su desktop. Resta comunque un max-width, quindi sugli
	   schermi stretti il widget si restringe da se'. */
}

/* Come si entra, nel profilo: i modi disponibili sono un'informazione, non un esito positivo.
   Il verde di bootstrap li faceva sembrare una conferma appena arrivata. */
.badge-accesso {
	background-color: var(--primary-color);
	color: #fff;
	font-weight: 600;
}

/* ===== Modali =====
   Arrivano tutti con i pulsanti di serie di bootstrap addosso - verde, blu, il rosso di pericolo
   usato per annullare - e con gli angoli vivi di una regola vecchia, mentre nel tema è tondo
   tutto: schede, campi, pulsanti. Si rimettono in riga qui una volta sola, e vale per il profilo
   come per il codice sconto, il popup di accesso e le finestre di bootbox. */
.modal .modal-content,
.bootbox .modal-content {
	border-radius: 10px;
}

.modal .modal-footer .btn,
.bootbox .modal-footer .btn {
	border-radius: 10px;
	font-weight: 600;
}

/* L'azione della finestra: quella che si è venuti a fare. */
.modal .btn-success,
.modal .btn-primary,
.bootbox .btn-primary {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

.modal .btn-success:hover,
.modal .btn-primary:hover,
.bootbox .btn-primary:hover {
	background-color: var(--primary-color-dark);
	border-color: var(--primary-color-dark);
	color: #fff;
}

/* Annullare non è l'azione della finestra: sta vuoto, così l'occhio va su quella che conta.
   Il rosso di pericolo resta solo a chi cancella davvero qualcosa, non a chi chiude. */
.modal .btn-secondary,
.modal .modal-footer .btn-danger[data-dismiss="modal"],
.bootbox .btn-secondary,
.bootbox .btn-default {
	background-color: transparent;
	border-color: var(--primary-color);
	color: var(--primary-color);
}

.modal .btn-secondary:hover,
.modal .modal-footer .btn-danger[data-dismiss="modal"]:hover,
.bootbox .btn-secondary:hover,
.bootbox .btn-default:hover {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

/* I campi dentro un modal non stanno in un .form-area e non ereditano niente dal tema. */
.modal .modal-body input[type="text"],
.modal .modal-body input[type="email"],
.modal .modal-body input[type="tel"],
.modal .modal-body input[type="password"],
.bootbox .bootbox-input {
	border-radius: 10px;
}
