/* Utilities */
.clearfix:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
* html .clearfix { height:1%; }
.clear { clear: both; height: 0 }

/* Generic */
body { font-family: "Montserrat", sans-serif; color: #333; background: #F6F9FF; padding-top: 160px; }
h1, h2 { font-weight: 700; }
h1 { font-family: "Montserrat"; font-size: 54px; margin-bottom: 50px; }
a, a:active, a:visited { color: #334897; }
a:hover { color: #000; text-decoration: none; }
a, a:hover { -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; } 
*:focus, *:active { outline: none !important; box-shadow: none !important; }
.verticalCenteredContent { display: flex; flex-direction: column; justify-content: center; align-items: center; flex-wrap: wrap; }
.lightText { color: #fff; }
p { font: normal 16px "Montserrat"; line-height: 26px; }

/* Framework Override */
.container { padding-left: .9rem; padding-right: .9rem; }

/* Header */
.headerContainer { backdrop-filter: blur(10px); position: fixed; top: 0; left: 0; width: 100%; padding: 40px; z-index: 99; background: transparent; }
.headerContainer, .headerContainer img, .headerContainer .navMenu *, .toggleMenu { -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; }
.header-scrolled { background: #efefef !important; background: rgba(246, 249, 255, 0.9) !important; padding: 10px 40px; }
.header-scrolled .navMenu li a { color: #000; }
.header-scrolled .navMenu li a:hover, .header-scrolled .navMenu li a.mPS2id-highlight { color: #334897; }
.menuBar { display: flex; justify-content: flex-end; align-items: center; }
.navMenu { margin: 0; }
.navMenu li { list-style: none; display: inline-block; }
.navMenu li a { display: inline-block; color: #334897; text-decoration: none; padding: 10px 20px; font: 700 16px "Montserrat"; }
.navMenu li a:hover, .navMenu li a.mPS2id-highlight { color: #000; }
.siteLogo img { max-width: 70px; vertical-align: middle; margin-top: 0; }
.siteLogo a { color: #fff; font-weight: 900; font-size: 36px; }
.siteLogo a:hover, .siteLogo a:active, .siteLogo a:focus { text-decoration: none; }
.header-scrolled .siteLogo a { color: #000; }
.bannerHero { margin: 0 auto 100px auto; max-width: 80%; }
.languageSwitcher img { vertical-align: middle; width: 24px; display: inline; margin-right: 5px; }

/* Layout */
.siteSection { padding: 20px 0; }
.siteSection h2 { font-size: 3em; line-height: 1.1; letter-spacing: 0; }
.siteSection.goalsSection { background: #334897; color: #fff; text-align: center; }
.siteSection.searchSection { background:#ededed; color: #000; text-align: center; /*height: 100vh;*/ padding-bottom: 150px; }
.siteSection.advantagesSection { background:  #DAEEF2; text-align: center; }
span.playVideo { position: absolute; top: 38%; left: 43%; width: 128px; height: 128px; background: url(../img/play-button.svg); background-size: contain; }
.videoPreview { margin-bottom: 40px; }
.videoPreview img { background: #fff; border-radius: 6px; box-shadow: 0 -5px 20px #ccc; }
.landingIcon { max-height: 180px; }
.landingPartnerLogo { max-width: 100%; max-height: 100px; margin: 30px 0; }
.ctaColumn { margin: 30px 0; }
a.ctaButton { border-radius: 30px; background: #FFF24B; color: #000; display: inline-block; text-decoration: none; padding: 10px 20px; font-weight: 700; }
a.ctaButton:hover { background: #111; color: #fff; text-decoration: none; }
#loginBox img { max-height: 250px; margin: 15px auto; }
.landingPhone { margin-top: -60px; margin-left: 60px; }
.landingAgrifood { margin-right: 40px; }

.curly { height: 250px; }
.curly svg { width: 100%; height: 100%; vertical-align: middle; margin-bottom: -1px; }
.curly.top svg { transform: rotate(180deg); }
.curly.bottom { margin-top: -100px; }

/* Footer */
.footerContainer { background: #334897; color: #fff; }
.footerContainer p { margin: 10px 0; font-size: 12px; color: #eee; }

/* form search diplomi */
.searchFormContainer { display: flex; align-items: stretch; justify-content: center; }
.searchFormContainer input[type="text"] { display: inline-flex; margin:10px 0; padding:18px; font: normal 16px "Montserrat"; color: #999; border-radius: 6px; margin-right: 10px;  border: 6px solid rgb(255, 255, 255); border: 6px solid rgba(255, 255, 255, .5); -webkit-background-clip: padding-box; /* for Safari */ background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */ }
.searchFormContainer input[type="submit"]{background:#334897;border:none;border-radius:6px;color:#fff;font: 700 16px "Montserrat"; line-height:35px;margin:10px 0; padding:16px 40px;text-transform:uppercase;transition:all 0.5s ease 0s; cursor: pointer; }
.searchFormContainer input[type="submit"]:hover{background:#000;color:#fff; }

#risultati_ricerca { margin-top: 50px; }
#risultati_ricerca hr { display: none; }
#risultati_ricerca table { font: normal 16px "Montserrat"; }
#risultati_ricerca th { background: #334897 !important; padding: 15px; font-size: 16px !important; }
#risultati_ricerca td { background: #fff; font: normal 16px "Montserrat" !important; padding: 10px; }
.searchErrorMessage { font-weight: bold; color: #a00; }
.viewCertificate { transition: all 0.3s; }
.viewCertificate:hover { background: #000 !important; transition: all 0.3s; }

/*

	Common styles for smartphone and tablets (< 1023px)
	
*/
@media screen and ( max-width : 1023px ) 
{
	/* Header and main menu */
	.header-scrolled, .headerContainer { padding: 10px; }
	.headerContainer { background: #efefef !important; background: rgba(240,240,240,0.97) !important; /*box-shadow: 0 0 10px #777;*/ }
	.headerContainer .navMenu li a { color: #000; }
	.headerContainer .navMenu li a:hover { color: #334897; }
	.headerContainer .navMenu li a.loginLink { text-align: center; }
	.headerContainer .navMenu li a.loginLink:hover { color: #fff; }
	.headerContainer .siteLogo a { color: #000; }
	
	.toggleMenu { display: block; position: absolute; top: 30px; right: 30px; text-indent: -9999px; width: 24px; height: 24px; }
	.toggleMenu span { width: 24px; background: #1a1a1a; border-radius: 2px; display: block; height: 2px; margin: 5px 0; transition: transform .2s; }
	.toggleMenu:hover { border: none; padding: 0; }
	
	.toggleMenu.openedMenu span { position: relative; margin: 12px 0; }
	.toggleMenu.openedMenu span:first-child { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
	.toggleMenu.openedMenu span:nth-child(2) { opacity: 0; }
	.toggleMenu.openedMenu span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 0; }
	
	.menuBar { display: none; width: 100%; background: #efefef; background: rgba(240,240,240,0.67) !important; z-index: 9999; /*overflow-y: scroll; -webkit-overflow-scrolling: touch; padding-bottom: 200px;*/ height: 100vh; }
	.menuBar ul { float: left; margin-top: 30px; }
	.menuBar ul li { width: 100%; }
	.menuBar ul li a { padding: 10px; }
	.menuBar ul li a i { display: none; }
	
	.bannerHero { margin-bottom: 10px; width: 100%; }
	.landingPhone { margin-top: 50px; margin-left: 0; }
	.landingAgrifood { margin-right: 0; }
	
	h1 { font-size: 32px; }
	span.playVideo { top: 30%; left: 40%; width: 64px; height: 64px; }
	
	
}

/*

	Smartphone (< 768px)
	
*/
@media screen and ( max-width : 767px ) 
{
	.invertedDirectionsOnMobile { flex-direction: column-reverse; }
	#loginBox img { max-height: 100px; }
	.searchFormContainer input[type="text"], .searchFormContainer input[type="submit"] { width: 100%; }
	
	/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { display: block; }
	
	/* Hide table headers (but not display: none;, for accessibility) */
	#risultati_ricerca th { position: absolute; top: -9999px; left: -9999px; }
	#risultati_ricerca tr { border: 1px solid #ccc; background: #fff; }	
	#risultati_ricerca td { /* Behave  like a "row" */ border: none; border-bottom: 1px solid #eee; position: relative; padding-left: 50%; overflow: hidden; text-overflow: ellipsis; }
	#risultati_ricerca td:before { /* Now like a table header */ position: absolute; /* Top/left values mimic padding */ top: 9px; left: 6px; width: 45%; padding-right: 10px; white-space: nowrap; font-weight: bold; color: #334897; }
	
	/*
	Label the data
	*/
	#risultati_ricerca td:nth-of-type(1):before { content: "Matricola"; }
	#risultati_ricerca td:nth-of-type(2):before { content: "Nome/Cognome"; }
	#risultati_ricerca td:nth-of-type(3):before { content: "Certificato"; }
}

/*

	Tablet (> 768px and < 960px)
	
*/
@media screen and ( min-width : 768px ) and ( max-width : 959px )
{
	.menuBar ul li a { padding-right: 30px; }
}

/*

	Low Height Devices (< 768px)
	
*/
@media screen and ( max-height : 500px )
{
	
}