/*
 *	ATTENZIONE: Impostiamo il sito come mobile-first, quindi qui si inseriscono le regole che valgono dal mobile in su.
 *  Per fare modifiche allo stile desktop usare i file "mq-****" per le media query
 */

/**
 *	Blu chiaro:	#0032A0
 *	Blu:		#214871
 *	Blu scuro:	#214871
 *	Blu scuro (trasparente): rgba(7, 86, 136, 0.93);
 *	
 *	Grigio chiaro:	#f1f1f1
 *	Grigio:			#e5e5e5
 *	Grigio scuro:	#282828
 */

/*
:root {
	--blu-chiaro: #0032A0;
	--blu: #214871;
	--blu-scuro: #214871;
	--blu-scuro-trasparente: rgba(7, 86, 136, 0.93);
}
 */

body {
	overflow-x: hidden;
	font-family: 'Noto Sans', sans-serif;
    font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	min-width: 300px;
}
.font2 {
	font-family: 'Noto Sans', sans-serif;
}

p { margin-bottom: 10px; line-height: 25px;}
a { color: inherit; text-decoration: none; }
b, strong { font-weight: 600; }
i, em { font-style: italic; }

ol, ul { padding-left: 40px; }
ul { list-style: square; }
ol { list-style: decimal; }


img {
	display: block;
    max-width: 100%;
	max-height: 100%;
    width: auto;
    height: auto;
}
hr {
    border: none;
    border-top: 4px solid #214871;
}

h2, .h2 {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 700;
}
h3, .h3 {
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 600;
}
h4, .h4 {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
}
h5, .h5 {
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
}

label {
	display: block;
	margin-bottom: 30px;
}
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
    display: block;
    width: 100%;
    border: none;
    padding: 8px 12px;
    font-size: 16px;
    background-color: #e5e5e5;
    color: #6b6b6b;
}


.clearfix { clear: both; }
.clearfix:after { content: ''; display: table; clear: both; }

.upcase { text-transform: uppercase; }

.btn {
    display: inline-block;
    background: #214871;
    color: #fff;
	text-align: center;
	font-family: inherit;
    text-transform: uppercase;
    font-weight: 700;
	font-size: 16px;
    letter-spacing: 1px;
    line-height: 1;
    padding: 10px 30px;
	border: 3px solid #214871;
	cursor: pointer;
	
	-webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.btn.btn-round { border-radius: 50px; }
.bg-dark-blue	{ background-color: #214871; border-color: #214871; color: #fff; }
.btn.btn-orange {
	background: #da291c;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 12px;
    padding: 8px 15px;
	border: none;
	width: 90%;
}
.btn.btn-outline {
	background-color: transparent;
	border-color: #214871;
	color: #214871;
}
.btn-inline {
	width: 160px;
	display: inline-block !important;
	margin-right: 10px;
}

.aligncenter img {display: inline-block; margin:0 auto; padding:0}

/*
 *	COLORI
 */
.bg-light-blue	{ background-color: #0032A0 !important; color: #fff !important; }
.bg-blue		{ background-color: #214871; color: #fff; }
.bg-dark-blue	{ background-color: #214871; color: #fff; }
.bg-dark-blue-t	{ background-color: rgba(7, 86, 136, 0.93); color: #fff; }
.bg-light-grey	{ background-color: #f1f1f1; }
.bg-grey		{ background-color: #e5e5e5; }
.bg-dark-grey	{ background-color: #282828; color: #fff; }


.txt-white		{ color: #ffffff; }
.txt-light-blue	{ color: #0032A0; }
.txt-blue		{ color: #214871; }
.txt-dark-blue	{ color: #214871; }

/*
 *	MARGINI
 */

.mt-30{margin-top:30px !important}


/**
 *	SHORTCODES
 */
/* [social-icons] */
.social-icons {}
.social-icons a {
    margin-right: 12px;
}
footer .social-icons {
    margin-bottom: 15px;
    
    a {
        margin-right: 12px;
        display: inline-block;
        width: 44px;
        aspect-ratio: 1;
        background: #DA291C;
        border-radius: 50%;
        text-align: center;
        align-content: center;
        font-size: 16px;
    }
}




/*
 *	HEADER
 */
#header #top-bar{
    /*height: 40px;*/
    background-color: #214871;
    p, a {
        font-size: 14px;
        font-weight: 400;
    }
}
#header #top-bar ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 40px;
}
#header #top-bar ul li:not(:first-child) {
    padding-left: 15px;
    border-left: 1px solid #fff;
    margin-left: 15px;
}
#header > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    padding-bottom: 15px;
}
#header .logo img {
	display: block;
}
#header .toggle-main-menu-container {
	position: relative;
	height: 54px;
}
#header #toggle-main-menu {
	background: none;
    border: none;
    padding: 10px;
    outline: none;
    font-size: 30px;
    cursor: pointer;
	position: absolute;
	right: 0;
	z-index: 1000;
}
body.main-menu-open #header #toggle-main-menu {
	right: 3px;
}
body.main-menu-open #toggle-main-menu .fa-bars,
body:not(.main-menu-open) #toggle-main-menu .fa-times { display: none; }

#header ul {
	padding: 0;
	list-style: none;
}


/*
 *	FOOTER
 */
#footer {
    background-color: #545859;
    color: #fff;
    padding: 40px 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
}
#footer a {
    color: inherit;
}

#footer input { max-width: 300px; }
#footer input[type="email"] {
    color: #000;
    padding: 6px 6px;
    font-size: 13px;
    width: 90%;
}
#footer span.wpcf7-list-item { margin: 0; }


/*
/*      FORM
*/
form label{margin-top:16px !important; margin-bottom:4px !important}


.filiale-news { margin-bottom: 80px; }
.news {
    padding: 0;
	border: 3px solid #214871;
    position: relative;
	height: 100%;
}
.news .news-category {
    display: inline-block;
    padding: 10px 20px;
    font-weight: 600;
    margin: -3px -3px 0;
}
.news .viewall{
    position: absolute;
    bottom: -3px;
    right: -3px;
    padding: 8px 16px;
    z-index: 100;
    font-weight: 600;
}
.news .news-descrizione {
    font-size: 16px;
    margin: 0 30px 45px
}
.news .excerptcnt{min-height: 80px; margin-bottom:10px}
.news .news-button {
    width: 100%;
    text-align: center;
    padding: 10px 20px;
    background-color: #214871;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 15px;
	margin: 0 15px;
}
/*
/*      CRISZ
*/

.containerS {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.blu-title{font-size:22px; margin-bottom: 0;}

/*documents list*/
.docml .ttl {
    font-size: 16px;
    line-height: 20px;
    padding: 13px 30px 0;
}
.docml .ttl-details {
    text-align: right;
    line-height: 16px;
}
.docml span.docname{padding-right: 5px}
.docml span.flagsicons {
    white-space: nowrap;
}
.docml img.flag {
    display: inline;
    padding-right: 5px;
    padding-top: 5px;
}

.single-product h1{
  color:#214871; font-size:20px; text-transform:uppercase
}
.single-product #cntResults{
  margin: 40px auto;
}
@media screen and (min-width: 576px){ /*540*/
    .containerS {
        max-width: 540px;
    }
}

@media screen and (min-width: 768px){ /*720*/
    .containerS {
        max-width: 720px;
    }
    .blu-title{padding-left: 20px !important; margin-left: -20px !important;}
}

@media screen and (min-width: 992px){ /*960*/
    .containerS {
        max-width: 860px;
    }
    .blu-title{padding-left: 50px !important; margin-left: -50px !important;}
}

@media screen and (min-width: 1200px){ /*1140*/
    .containerS {
        max-width: 840px;
    }
    .blu-title{padding-left: 110px !important; margin-left: -110px !important;}
}

@media screen and (min-width: 1470px){ /*1440*/
    .containerS {max-width: 1040px;}
    .blu-title{padding-left: 110px !important; margin-left: -110px !important;}
}


.pagination {
	text-align: center;
  -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.pagination a {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
}
.pagination a:hover {
	background-color: #214871;
    color: #fff;
}
.pagination a.active {
	background-color: #0032A0;
    color: #fff;
}


/**
 *	404
 */
body.error404 section.is404 { text-align: center; margin: 80px auto; }
body.error404 section.is404 h2 { font-size: 200px; line-height: 1; }
body.error404 section.is404 h3 { font-size: 30px; }
body.error404 section.is404 h4 { margin-top: 20px; text-transform: none; font-weight: 400; }

.single-document .doc-list .file-box{
    border-bottom: 1px dashed #e2e2e2;
    padding-bottom: 5px;
    min-height: 30px;
}
.single-document .doc-list a{
    display: block !important;
    clear: both;
    line-height: 20px;
}

.single-document .doc-list .docname{
    font-size: 16px;
    padding-right: 10px;
    display: inline;
    float: left;
    font-weight: bolder;
}

.single-document .doc-list .flagsicons {
    display: inline;
    float: left;
    padding-top: 5px;
}
.single-document .doc-list .flagsicons img {
    float: left;
    padding-right: 5px;
}
.single-document .doc-list .flagsicons.multiflags {
    display: block;
    float: none;
    clear: both;
    padding-top: 0;
}
.single-document .doc-list .flagsicons.multiflags img {
    display: inline;
    padding-right: 10px;
}

.single-document .doc-list span.attachdetails {
    clear: both;
    display: block;
}

.page-template-tpl-search .docml ttl{font-size:14px;}
.page-template-tpl-search .docml span.docname {
    padding-right: 5px;
    font-size: 16px;
    font-weight: 600;
    word-break: break-word;
}

.page-template-tpl-search .docml span.attachdetails {
    font-size: 16px;
}
.page-template-tpl-search .docml span.attachdetails .push-right{
    float: right;
}
.page-template-tpl-search .docml a:not(:first-child){
    border-top: 1px dashed #e2e2e2;
    display: inline-block;
    width: 100%;
    padding-top: 5px;
    margin-top: 5px;}