@font-face
{
	font-family: "KlillLightCond";
	src: url("./img/fonts/KlillLightCondensed.ttf");
}

@font-face
{
	font-family: "Bebas";
	src: url("./img/fonts/BebasNeue-Regular.ttf");
}

*
{
	box-sizing:border-box;
}

body, h1 , h2 , form , header ul
{
	margin: 0;
}

body
{
	color:#636463;
	font-size: calc(min(16pt, 1.443vw));
	font-size:26px;
	overflow-x:hidden;
	font-family: KlillLightCond;
	--maxlarghbody: 1440px;
	--coloretitoli: #1767B0;
}

h1
{
	line-height:85%;
	font-weight:normal;
	font-family: Bebas;
	text-transform: uppercase;
	color:var(--coloretitoli);
	font-size: calc(min(54pt, 4.875vw));
	font-size:55px;
}

a
{
	color:#2B3990;
	text-decoration:none;
}

.interno
{
	margin:0 auto;
	width:calc(min(100vw, var(--maxlarghbody)));
}

#utils
{
	color:black;
	padding-top:2px;
	background-color:white;
}

#utils ul
{
	padding:0;
	/*font-size: calc(min(24pt, 2.431vw));*/
	font-size:24px;
}

#utils a
{
	color:inherit;
}

#utils a img
{
	top:1px;
	position:relative;
}

#logo
{
	display:block;
	margin:90px 0 40px 0;
}

#headbg
{
	height:648px;
	color:#D1D1D1;
	background-color:#0D4F7F;
	background-position:center top;
	background-image:url(img/bg.png);
	overflow-y:hidden;
}

#bannermenu
{
	height:100%;
	display:flex;
}

#bannermenu > div:first-child
{
	flex-basis:62%;
}

#bannermenu > div:last-child
{
	flex-basis:46%;
}

#bannermenu h1
{
	color:white;
}

#cerchi
{
	border:0;
	width:100%;
    top: -30px;
	height:100%;
	position:relative;
}

#cerchi.sposta
{
	left:92px;
}

#cerchi.sposta2
{
	top:0px;
	left:125px;
}

#mmenu
{
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 68%, rgba(0,0,0,1) 100%);
}

#utils ul,
#mmenu ul
{
	gap:1em;
	padding:0;
	display:flex;
	list-style:none;
	text-transform:uppercase;
	justify-content:flex-end;
	/*font-size: calc(min(24pt, 2.431vw));*/
	font-size:24px;
}

#mmenu ul
{
	font-size:45px;
	padding: 15px 0;
	font-family: Bebas;
}

#mmenu ul a
{
	color:#6AA4CC;
	display:inline-block;
}

#mmenu ul li.on a,
#mmenu ul li:hover a
{
	color:#C3E3F3;
}

/*
#mmenu ul li:hover a
{
	-webkit-animation: scale-in-ver-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: scale-in-ver-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
*/

#utils ul li a,
#mmenu ul li a
{
	cursor:pointer;
	position:relative;
	white-space:nowrap;
}

main > section > .interno:not(.sub),
#menuf > .interno,
.subdocs
{
	display:flex;
}

main > section.specchio > .interno:not(.sub)
{
	flex-direction:row-reverse;
}

.subdocs
{
	width:100%;
	padding-bottom:30px;
}

.subdocs > div
{
	gap:30px;
	display:flex;
	flex-basis:50%;
}

.subdocs h2
{
	font-weight:normal;
}

.subdocs h2 span
{
	color:#6BA4CC;
}

.subprogs
{
	gap:var(--spazio);
	display:flex;
	--spazio:20px;
	margin-bottom:20px;
}

.subprogs > div
{
	flex-grow:0;
	flex-basis:calc((100% - (var(--spazio) * 3)) /4);
}

.subprogs img
{
	max-width:100%;
	border:10px solid #042F4C;
}

.subprogs > div > div:first-child
{
	position:relative;
}

.subprogs > div:not(.lightbox) > div:first-child:after
{
	left:10px;
	right:10px;
	bottom:30px;
	color:white;
	display:block;
	font-size:35px;
	text-align:right;
	position:absolute;
	font-family:Bebas;
	padding-right:10px;
	content:"Scopri di più";
	text-transform:uppercase;
	background-color:rgba(4, 47, 76, 0.7);
}

.subprogs > div > div h2
{
	font-size:27px;
	font-weight:normal;
	text-transform:uppercase;
}

.subdicono
{
	gap:var(--spazio);
	display:flex;
	--spazio:20px;
}

.subdicono > div
{
	flex-basis:calc((100% - (var(--spazio) * 2)) /3);
}

.gmap
{
	padding:10px;
	box-shadow: 10px 10px 5px #888;	
}

main > section ul
{
	padding-left:0;
}

main > section ul li 
{
	margin: 0;
	list-style: none;
	padding: 5px 10px 5px 40px;
	background: url("./img/bull.svg") no-repeat left center;
}

main > section a.scarica
{
	font-weight:bold;
	padding-left:40px;
	text-transform:uppercase;
	background: url("./img/download.svg") no-repeat left center;
}

main > section a.idealink
{
	margin-top:50px;
    color:white;
	font-size:55px;
	line-height: 85%;
    font-family: Bebas;
	padding:12px 40px 12px 90px;
	display:inline-block;
	text-transform:uppercase;
	background-color:#EEB619;
	background-image: url("./img/idea.svg");
	background-repeat:no-repeat;
	background-position: 15px center;
	background-size:55px;
}

main > section
{
	padding:40px 0;
	background-color:#F7F9F9;
}

main > section.bianco
{
	background-color:white;
}

main > section.giallo
{
	background-color:white;
}

main > section.giallo h1
{
	color:#EEB619;
}

main section.alleg .nostack
{
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
}

main section.alleg .nostack img
{
	width:360px;
}

main > section.home,
main > section.mission,
main > section.sub
{
	padding:0;
	background-color:white;
}

main > section.dicono
{
	background-color:#F7F9F9;
}

main > section.dicono .subdicono > div > div
{
	min-height:320px;
}

main > section.dicono .subdicono h3
{
	font-size:20px;
	font-weight:normal;
}

main > section.dicono .subdicono > div > div:before
{
	display:inline-block;
	content:url(img/virgotop.svg);
}

main > section.dicono .subdicono > div > div:after
{
	display:inline-block;
	content:url(img/virgoend.svg);
}

main > section.home .interno,
main > section.mission .interno
{
	gap:40px;
	display:flex;
	padding:60px 0;
}

main > section .interno > div.spazio
{
	padding:30px 30px 30px 0;
}

main > section.specchio .interno > div.spazio,
main > section .interno .gmap + div
{
	padding:30px 0 30px 30px;
}

main > section.mission .interno > div:first-child
{
	padding:0 !important;
}

main > section.home .interno > div > img
{
	float:left;
	margin-right:20px;
}

main > section.mission .interno img
{
	max-height:200px;
}

.gmap > iframe,
#gmap,
#gmap_map_canvas
{
	border:0;
	width:100%;
	height:100%;
}

main > section > .interno > *,
#menuf > .interno > *:first-child
{
	flex-basis:50%;
}

#menuf > .interno > *:first-child
{
	font-size:28px;
	text-transform:none;
}

#menuf > .interno > *:first-child img
{
	float:left;
	height:120px;
	width:auto;
	position:relative;
	top:-10px;
}

#menuf > .interno > * img
{
	width:auto;
	height:60px;
	margin-right:20px;
	vertical-align:middle;
}

#menuf > .interno > *:last-child
{
	text-align:right;
}

#menuf > .interno > *
{
	flex-basis:25%;
	font-size:60px;
	text-transform:lowercase;
}

section.top h1
{
	line-height: 95%;
}

h1,
main > section > .interno > :last-child h1 + div,
main > section > .interno > :last-child h1 + div li:not(:last-child)
{
	position:relative;
	padding-bottom:30px;
}

#bannermenu h1
{
	padding-bottom:0;
}

h1::after,
/*main > section > .interno > :last-child h1 + div::after,*/
main > section > .interno > :last-child h1 + div li:not(:last-child)::after
{
	left:0;
	bottom:20px;
	content:"";
	height:2px;
	width:135px;
	position:absolute;
	background-color:#636464;
}

#bannermenu h1::after
{
	bottom:-5px;
	background-color:white;
}

#menuf
{
	color:white;
	font-size: calc(min(16pt, 1.443vw));
	font-family: KlillLightCond;
	background-color:#0F4F7E;
	border-top:3px solid white;
}

#menuf .interno
{
	padding:50px 20px;
}

#menuf .interno address
{
	font-style:normal;
}

#menuf .interno h3
{
	font-size: calc(min(40pt, 3.601vw));
	font-weight:normal;
	margin-top:0;
	margin-bottom:10px;
	text-transform:uppercase;
}

#menuf .interno h3 span
{
	font-size: calc(min(19pt, 1.716vw));
	text-transform:none;
}

#menuf a
{
	color:inherit;
}

#copy
{
	color:black;
	font-size: calc(min(16pt, 1.44vw));
	font-size:20px;
	font-family: Bebas;
	text-align:center;
	text-transform:uppercase;
	background-color:#DDDCDB;
	border-top:3px solid white;
	border-bottom:10px solid white;
}

#copy .interno
{
	padding:10px 0;
}

#copy a
{
	color:black;
}

#copy a span
{
	color:#C16C1E;
}

.nostack img
{
	width:100%;
	height:auto;
	display:block;
}

.btlink
{
	font-family: Bebas;
	text-transform: uppercase;
	font-size:55px;
	color:#EEB619;
}

.sede img
{
	width:100%;
	height:100%;
	max-width:100%;
	object-fit:cover;
}

#contbox
{
	padding-left:30px;
}

/*
@-webkit-keyframes scale-in-ver-center {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    opacity: 1;
  }
}
@keyframes scale-in-ver-center {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    opacity: 1;
  }
}
*/
