@charset "UTF-8";
/*** BREAKPOINTS ***/
html {
  min-height: 100%;
  width: 100%;
  height: 100%; }

body {
  height: 100%;
  padding: 0;
  margin: 0;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.4em;
  background-color: #ffffff;
  color: #464652; 
}

@media screen and (min-width: 767px) { 
	body { 
		font-size: 14px;
	}
}
  
@media screen and (min-width: 1023px) { 
	body { 
		font-size: 16px;
	}
}

#main-container {
  margin: 0;
  padding: 0;
  overflow: hidden; }

.container-fluid.reset, .container.reset {
  margin: 0;
  padding: 0; }

.container-fluid.reset .reset, .container.reset .reset {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.container-fluid.reset .container.reset {
  display: inline-block;
  /*float: left;*/ }

/* ICON */

.fa {
  font-family: FontAwesome !important;
}
.player-video-icon {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
}
.player-video-icon img {
  width: 80px;
  height: 80px;
}
.border-radius-6 {
  border-radius: 6px;
}

@media screen and (max-width: 1279px) {
  .container {
    width: 100% !important; } }

/* GRID
@media (min-width: $screen-xxlg-max) {
  .container {
    width:1520px;
  }
}
*/
/* COLOR */
.color_default {
  color: #464652 !important; }

.color_grey_1 {
  color: #4c4a4a !important; }

.color_white {
  color: #ffffff !important; }

.color_red {
  color: #c41230!important; }

/* BACKGROUND */
.background_white {
  background-color: #ffffff; }

.background_black {
  background-color: #000000; }

.background_gold {
  background-color: #bb9563; }

.background_light_grey {
  background-color: #ededf0; }

.background_light_light_grey {
  background-color: #f6f6f7; }

.background_image {
  background-attachment: fixed;
  background-image: url("../images/bck/contatti.jpg");
  background-position: 0 bottom;
  background-repeat: no-repeat;
  background-size: cover; }

.bck_production {
  width: 100%;
  height: 390px;
  background-image: url("../images/bck/laproduzione.jpg");
  background-position: center top;
  background-repeat: no-repeat; }

/* BORDER */
.border_top_grey {
  border-top: 1px solid #dbdbdd !important;
  padding-top: 1.25em; }

.border_bottom_grey {
  border-bottom: 1px solid #dbdbdd !important; }

.border_bottom_grey_space {
  border-bottom: 1px solid #dbdbdd !important;
  padding-top: 1.25em;
  margin-bottom: 1.25em; }

.uppercase {
  text-transform: uppercase !important; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  line-height: 1.2em;
  margin-bottom: 0.313em;
  font-weight: 600; }

h1, .h1 {
  font-size: 2.6em; /*font-size: 4.5em;*/
  line-height: 1.1em;
  color: #464652; }

h2, .h2 {
  font-size: 2.1em;
  color: #464652; 
}

h2.white, .h2.white {
  font-size: 2.1em; /*font-size: 3em;*/
  color: #ffffff; }

h2.decorated {
  position:relative;
  padding-left:80px;
}

h2.decorated::before {
  content: url('../images/reward.svg');
  position: absolute;
  display: inline-block;
  top: 6px;
  left: 0px;
  width: 50px;
  height: 62px;
}

h3, .h3 {
  font-size: 1.875em;
  color: #464652; }

h3.white, .h3.white {
  font-size: 1.875em;
  color: #ffffff; }

h3.red, .h3.red {
  font-size: 1.5em;
  color: #C41230; }

h4, .h4 {
  font-size: 1.5em;
  color: #464652; }

h4.white, .h4.white {
  font-size: 1.5em;
  color: #ffffff;
  font-weight: 300;
  padding-bottom: 0; }

h4.red, .h4.red {
  font-size: 1.125em;
  color: #C41230; }

h4.white a.back-link {
  display: inline-block;
  text-transform: uppercase;
  color: #c41230;
  font-size: 1em;
  
  padding: 0px 0px  0px 0px;
  border-bottom: 1px solid #C41230;
  margin: 0px 0px 0px 0.313em; }

 h4.breadcrumb {
 	display:block; text-align:center;
 	padding:10px 0px 10px 0px;
 	font-weight: 300!important;
 }
 
  h4.breadcrumb i {
  	margin-right:5px;
 	color: #c41230;
 }

h5, .h5 {
  font-size: 1.25em;
  font-weight: 300; }

h6, .h6 {
  font-size: 1.125em;
  font-weight: 300; }

.fck-edit p, .fck-edit ul li,
p {
  font-size: 1.25em;
  color: #464652;
  line-height: 1.4em; }

.fck-edit.decorated ul {
  margin-top:30px;
  margin-left:24px;
  border-left: 2px solid #C41230;
  color: #C41230;
  list-style-type:none;
  list-style-position: outside;
  list-style-image: url('../images/check.svg');
}

.fck-edit.decorated ul li {
  margin-left: 40px;
  margin-bottom:20px;
  padding-left: 20px;
  font-size: 1.25em;
  line-height: 1.4em;
}

@media screen and (min-width: 1024px) {
  .fck-edit.decorated ul li {
    line-height: 2em;
  }
}
    
a {
  color: #4c4a4a;
  text-decoration: none; }

a:focus, a:hover {
  color: #4c4a4a;
  text-decoration: none; }
  
a.red, span.red {
  color: #c41230;
  text-decoration: none; }

a.red:focus, a.red:hover {
  color: #c41230;
  text-decoration: none; }

.fck-edit p a, .fck-edit ul li a {
	color: #C41230;
	text-decoration: none;
}
.fck-edit p a:hover, .fck-edit ul li a:hover {
	color: #000;
	text-decoration: none;
}

.text-strong {
  font-weight: bold; }

.text-uppercase {
  text-transform: uppercase; }

.text-big, .text-big-p p, .text-big-p-news p {
  font-size: 1.5em;
  line-height: 1.4em; }
  
.text-big-p-news p a, .text-big-p-news p a:focus {
	text-decoration: none;
}
.text-big-p-news p a:hover {
	text-decoration: none;
	color: #000;
}

span.pdf-red {
  color: #c41230;
  text-decoration: none; 
  font-size:1.25em;
}

.ul-li-red ul {
  border-top: 1px solid #dbdbdd;
  display: block;
  margin: 0;
  list-style: outside none none;
  padding-left: 0; }

.ul-li-red ul li {
  border-bottom: 1px solid #dbdbdd;
  padding: 1.25em 0; 
  font-size: 1.25em }

.ul-li-red ul li:before {
  content: "•";
  color: #C41230;
  padding-right: 4px; }
  

.ul-li-red-ball ul { 
  margin:0px; padding:0px;
}  
  
.ul-li-red-ball ul li { 
  font-size:1.25em;
  list-style:none;
  padding-bottom: 0.6em;
}

.ul-li-red-ball ul li:before {
  content: "•";
  color: #C41230;
  padding-right: 5px;
  font-size: 1.5em; 
}
  
  
 a.linkRedArrow {
 	display:block;
 	color: #c41230;
 	font-size: 1.25em;
    line-height: 1.25em;
    text-transform:uppercase;
    margin-bottom:30px;
 }
 
 .linkWhiteArrow,  .linkWhiteArrow  {
 	display:inline-block;
 	
 	color: #fff;
 	font-size: 1.25em;
    line-height: 1.25em;
    text-transform:uppercase;
    margin-bottom:30px;
 }
 
 .linkWhiteArrow:hover, .linkWhiteArrow:focus {
 	color: #fff;
 }
 

@media screen and (min-width: 1024px) {
  h1, .h1 {
  	color: #ffffff;
    font-size: 4.5em; }
  h2, .h2, h2.white, .h2.white {
    font-size: 3em; }
  
  h4.white a.back-link {
  color: #ffffff;
  }

}

/* IMAGE */
figure {
  position: relative; }

figure .text-figure {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 2.5em; 
  background: -webkit-linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0)); 
   background: -o-linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0)); 
   background: linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0));
   border-radius:6px;
   height:100%; width:100%;
 text-align:center;
}
figure.shadow-reverse .text-figure {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 2.5em 2.5em 1.5em 2.5em;
  background: -webkit-linear-gradient(rgba(0,0,0,0.0),rgba(0,0,0,0.7));
  background: -o-linear-gradient(rgba(0,0,0,0.0),rgba(0,0,0,0.7));
  background: linear-gradient(rgba(0,0,0,0.0),rgba(0,0,0,0.7));
  border-radius:6px;
  height:100%; width:100%;
  text-align:center;
  text-align: left;
  display: flex;
  align-items: end;
  margin: 0;
}
figure.shadow-reverse .text-figure h3 {
  display: flex;
  flex-direction: column;
  text-align: left;
  line-height: 1.5em;
  width: 100%;
  margin-bottom: 0;
}
figure.shadow-reverse .text-figure h3 i {
  align-self: end;
  margin-top: 0.5em;
  margin-right: 1em;
}
figure.shadow-reverse .text-figure h3 img {
  width: 45px;
  align-self: end;
  margin-top: 0.5em;
  margin-right: 1em;
}

figure.zoom {
  overflow: hidden; }

figure.zoom img {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1); }

figure.zoom:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1); }

figure.max img {
  width: 100%; }

figure.rounded img {
  border-radius: 6px; }

figure.rounded-top {
  z-index: 1;
  background-color: #000000;
  border-radius: 4px 4px 0px 0px; }

figure.rounded-top img {
  border-radius: 4px 4px 0px 0px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; }

figure.rounded-top:hover img {
  border-radius: 4px 4px 0px 0px;
  opacity: .5; }
  
figure.shadow-reverse img {
  border-radius: 6px;
}

figcaption, .figcaption {
  font-size: 14px;
  color: black;
  font-weight: 400;
  margin-top: 5px;
}

.row.row-logo-teaser {
  margin-left: -12px;
  margin-right: -12px;
}
.row.row-logo-teaser .col-xs-12 {
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 24px;
}
.row.row-logo-teaser .col-xs-12:last-child {
  margin-bottom: 0;
}
.row.row-logo-teaser .logo-container {
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .row.row-logo-teaser .col-xs-12 {
    margin-bottom: 0;
  }
  .row.row-logo-teaser .logo-container {
    margin-bottom: 0;
    margin-top: 100px;
  }
  .row.row-logo-teaser .logo-container .logo {
    position: absolute;
    z-index: 1;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

img.max {
  width: 100%; }

img.rounded {
  border-radius: 4px; }

@media screen and (min-width: 767px) {
figure .text-figure {
	text-align:left;
	}
  figure.max {
    max-width: 100%;
    margin-bottom: 0; }
  figure.max img {
    max-width: 100%; } 
}

/* BUTTON */
.btn-container-absolute {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5em;
  text-align: center; }

.btn {
  display: inline-block;
  font-size: 1em;
  text-transform: uppercase;
  padding: 0.625em 1.875em;
  border-radius: 4px; }

.btn-big {
  display: inline-block;
  font-size: 1em;
  text-transform: uppercase;
  padding: 20px 50px;
  border-radius: 5px; }

.btn-icon {
  display: inline-block;
  padding: 0.625em 1.25em 0.625em 0.625em;
  border-radius: 4px; }

.btn-icon span {
  display: inline-block;
  font-size: 1em;
  line-height: 30px;
  text-transform: uppercase;
  padding-left: 0.625em; }

.btn-icon i {
  display: inline-block;
  background-color: #ffffff;
  font-size: 1.25em;
  border-radius: 1.25em;
  padding: 0.25em;
  color: #464652; }

.btn.btn-big {
  font-size: 1.5em; }

.btn-transparent {
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff; }

.btn-transparent:hover, .btn-transparent:focus {
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff; }

.btn-red {
  position: relative;
  background: #C41230 none repeat scroll 0 0;
  color: #ffffff;
  overflow: hidden;
  backface-visibility: hidden;
  vertical-align: middle;
  z-index: 1; }

.btn-red:focus {
  outline: none; }

.btn-red:hover, .btn-red:focus {
  background: #C41230;
  color: #ffffff; }

.btn-red::before {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 100%;
  margin: -15px 0 0 1px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ee284a;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale3d(1, 2, 1);
  transform: scale3d(1, 2, 1);
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1); }

.btn-red:hover::before {
  -webkit-transform: scale3d(9, 9, 1);
  transform: scale3d(9, 9, 1); }
  
  
.btn-container {
	display:block; width:100%;
	margin-bottom:20px;
}

/* COMPONENT SPACE */
.block, .component-block {
  display: inline-block;
  width: 100%; }

.component-xs {
  margin-bottom: 0.625em; }

.component, .component-sm {
  margin-bottom: 1.25em; }

.component-md {
  margin-bottom: 1.875em; }

.component-lg {
  margin-bottom: 2.5em; }

.component-xlg {
  margin-bottom: 3.75em; }

.component-xxlg {
  margin-bottom: 5em; }

.reset-margin {
  margin: 0 !important; }

.space-top-xs {
  margin-top: 0.625em !important; }

.space-top, .space-top-sm {
  margin-top: 1.25em !important; }

.space-top-md {
  margin-top: 1.875em !important; }

.space-top-lg {
  margin-top: 2.5em !important; }
.padding-top-lg {
  padding-top: 2.5em !important; }

.space-top-xlg {
  margin-top: 3.75em !important; }

.space-top-xxlg {
  margin-top: 5em !important; }

.space-bottom-xs {
  margin-bottom: 0.625em !important; }

.space-bottom-sm {
  margin-bottom: 1.25em !important; }

.space-bottom-md {
  margin-bottom: 1.875em !important; }

.space-bottom-lg {
  margin-bottom: 2.5em !important; }

.space-bottom-xlg {
  margin-bottom: 3.75em !important; }

.space-bottom-xxlg {
  margin-bottom: 5em !important; }

.vspace-xs {
  margin: 0.625em 0 !important; }

.vspace-sm {
  margin: 1.25em 0 !important; }

.vspace-md {
  margin: 1.875em 0 !important; }

.vspace-lg {
  margin: 2.5em 0 !important; }

.vspace-xlg {
  margin: 3.75em 0 !important; }

.vpadding-sm {
  padding: 2.5em 0 !important; }

.vpadding-lg {
  padding: 2.5em 0 !important; }

.tpadding-lg {
  padding: 2.5em 0 0 0 !important; }

/***** Header *****/
.header-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  color: #ffffff;
  z-index: 11;
  /*background: rgba(70, 70, 82, 0) linear-gradient(rgba(70, 70, 82, 1), rgba(70, 70, 82, 0)) repeat scroll 0 0;*/ 
}

.main-logo {
  float: left;
  margin: 40px 0 0 20px; }

.main-logo i {
  display: block;
  color: #ffffff;
  font-size: 3.125em; }

.header-menu-row {
  float: left;
  width: 100%; }

.meta-menu-row {
  float: right;
  width: auto; }

/***** Menu *****/
.utility-menu {
  display: block;
  float: right;
  width: auto;
  margin: 70px 20px 0px 0px; }

.utility-menu li, .utility-menu li a {
  display: inline-block;
  float: left;
  width: auto; }

.utility-menu ul {
  display: block;
  float: left;
  margin: 0; }

.utility-menu li {
  position: relative; }

.utility-menu li.lang-menu a {
  float: right;
  margin: 0px 0px 0px 10px;
  font-size: 0.75em;
  font-weight: 600;
  color: #9f9f9f; }

.utility-menu li.lang-menu a:hover {
  color: #ffffff;
  text-decoration: none; }

.utility-menu li.lang-menu a.active {
  color: #ffffff; }

.search-btn {
  /*height:58px;*/
  margin: 0px 10px 0px 0px;
  padding: 0;
  font-size: 20px;
  border: 0 none;
  background-color: transparent; }

.search-btn i {
  color: #9f9f9f; }

.search-btn:hover i, .search-close:hover i {
  color: #ffffff; }

.search-close i {
  background-color: transparent;
  color: #9f9f9f; }

.search-close:hover i {
  color: #ffffff; }

.search-menu form {
  margin: 0px;
  padding: 0px; }

.search-menu input {
  display: block;
  position: absolute;
  right: 40px;
  top: -20px;
  width: 300px;
  height: 38px;
  margin: 10px 0;
  border: 0 none;
  border: 2px solid #9f9f9f;
  line-height: 38px;
  font-size: 18px;
  color: #9f9f9f; 
  background-color:#f5f5f5;
  /*display:block; float:right;
    width:300px; height:38px;
    margin:10px 0;
    border:0 none; border-bottom:1px solid #9f9f9f;
    line-height:38px;  font-size:18px;
    color:#fff;
    background-color:transparent;
  */
  
  }

.search-menu .search-close {
  display: inline-block;
  position: absolute;
  left:0px;
  top: -10px;
  width: 18px;
  /*height:58px;*/
  margin: 0 0px 0 0;
  padding: 0;
  font-size: 20px;
  line-height: 40px;
  color: #9f9f9f; }

.search-menu:hover .search-close {
  background-color: transparent; }

.search-menu .search-close:hover {
  color: #ffffff;
  text-decoration: none; }

.closed-field input#search_input, .closed-field a.search-close {
  display: none; }

.main-menu ul.closed-field li, .utility-menu ul.open-field li.search-menu, .open-field input#search_input, .open-field a.search-close {
  display: block; }

.utility-menu li.search-menu:hover a:after {
  content: none; }

.main-menu {
  display: block;
  width: 100%;
  /*margin-top: 70px;*/ }

.main-menu ul {
  display: block;
  float: left;
  margin: 0; }

.main-menu li {
  position: relative;
  display: block;
  float: left;
  width: auto; }

.main-menu li a {
  position: relative;
  display: block;
  float: left;
  width: auto;
  font-size: 1.5em;
  padding: 0 0 20px 0;
  margin: 0 25px 0 25px;
  color: #ffffff;
  font-weight:600;
   }

.main-menu li a:hover, .main-menu li a:focus, .main-menu li.active a {
  color: #ffffff;
  text-decoration: none;
  border-bottom: 3px solid #ffffff; }

.main-menu li ul.submenu {
  position: absolute;
  left: 0;
  top: 30px;
  display: none;
  padding: 20px 20px 20px 20px;
  background-color: #f0f0f0;
  z-index: 4; 
  width: 300px;
  font-size: 14px;
}

.main-menu li:hover ul.submenu {
  display: block; }

.main-menu li ul.submenu li, .main-menu li ul.submenu a {
  display: block; width:100%;
  }

.main-menu li ul.submenu a {
  margin: 0;
  padding: 11px 0;
  /*font-size: 20px;*/
  line-height: 26px; 
  color: #464652;
  display: block;
  width: auto;
  font-size: 1.25em;
  padding: 0 0 20px 0;
  text-transform:none;
  line-height:1.2em;
  }

.main-menu li.active ul.submenu a {
  color: #464652; border-bottom:0px; }

.main-menu li ul.submenu li:last-child a {
  border-bottom: 0 none; }

.main-menu li ul.submenu a:hover, .main-menu li ul.submenu a:focus, .main-menu li ul.submenu li.active a {
  color: #464652; border-bottom:0px;}

.main-menu li:hover ul.submenu a:after {
  content: none; }


.meta-menu {
  display: block;
  float: right;
  width: auto;
  margin: 0 20px 0 0; }



.meta-menu ul {
  display: block;
  float: right;
  margin: 0 30px 0 0; }

.meta-menu li, .meta-menu li a {
  display: inline-block;
  float: left;
  width: auto;
  position: relative; }

.meta-menu li a {
  height:28px;
  line-height: 28px;
  margin: 0px 0px 0px 15px;
  font-size: 0.875em;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
}

.meta-menu li a:hover {
  text-decoration: underline; }

.meta-menu li.highlights a {
  margin: 0px 20px 0px 20px;
  padding: 0px 20px 0px 20px;
  background-color: #C5251C;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.meta-menu li.highlights a:hover {
  text-decoration: none; }

.meta-menu li.lang-menu a {
  float: right;
  margin: 0px 0px 0px 10px;
  font-size: 0.875em;
  font-weight: 600;
  color: #9f9f9f; }



.meta-menu li.lang-menu a:hover {
  color: #ffffff;
  text-decoration: none; }

.meta-menu li.lang-menu a.active {
  color: #ffffff; }


@media screen and (max-width: 1024px) {
	.header-wrapper {
		height: 70px;
		background: rgba(0, 0, 2, 0.8);
	}
	
}


@media screen and (min-width: 1025px) {
	.main-logo {
	  margin: 18px 0 0 0px; }

	.main-logo i {
	  font-size: 2.000em; }

  	.headerSmall .header-wrapper .main-logo i {
	    font-size: 2.000em;
	}

    .main-menu ul {
      display: flex;
      float: left;
      margin: 0;
      align-items: center;
      justify-content: space-between;
    }

    .main-menu li {
      display: flex !important;
      height: 100%;
      align-items: center;
    }
	.main-menu li a {
	    font-size: 18px;
        line-height: 1.2;
        text-align: center;
	    margin: 0 10px;
	    padding: 0 0 5px;
        border-bottom: 3px solid transparent;
        display: flex;
        height: 100%;
        align-items: center;
	}

    .main-menu {
      display: flex;
    }
    /*
	.headerSmall .header-wrapper .main-menu {
	    margin-top: 15px;
	}
	*/
	
	.utility-menu {
    	margin: 35px 10px 0 0;
    }

    .main-menu li ul.submenu a {
      text-align: left;
      border-bottom: 0;
    }

    .headerSmall .header-wrapper .main-logo {
      margin-top: 10px; }
    .headerSmall .header-wrapper .utility-menu {
      margin-top: 25px; }
    .headerSmall .main-menu li a {
      font-size: 14px;
    }

    .col-menu {
      margin-top: 2.1vw;
    }
    .headerSmall .col-menu {
      margin-top: 2.1vw;
    }


}


@media screen and (min-width: 1025px) {
  .utility-menu li {
    width: auto; }
  .utility-menu li a {
    float: left;
    margin-left: 20px; }
  /*.header-wrapper {
    height: 300px;
    background: linear-gradient(black, transparent);
    }*/
  #news .header-wrapper, #news-list .header-wrapper {
    height: 200px;
  }
  .headerSmall .header-wrapper, #news.headerSmall .header-wrapper, #news-list.headerSmall .header-wrapper {
    background: rgba(0, 0, 2, 0.8);
    height: auto;
    /*padding-bottom: 10px;*/
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }
  /*
  .headerSmall .header-wrapper .main-menu {
    margin-top: 36px; }
   */

  .headerSmall .header-wrapper .main-menu li a {
    /*font-size: 1.25em;*/
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out; }

}

@media screen and (min-width: 1200px) {
  .meta-menu {
    min-height: 1.8vw;
  }

  .headerSmall   .meta-menu {
    min-height: 1.5vw;
  }

}
@media screen and (min-width: 1400px) {
  	
  	.main-logo {
	  margin: 40px 0 0 20px; }

	.main-logo i {
	 font-size: 2.500em; }
  	
  	.headerSmall .header-wrapper .main-logo i {
    	font-size: 40px;
	}
	.main-menu li a {
      font-size: 20px;
      padding: 0 0 10px 0px;
      margin: 0 15px 0 15px;
      text-align: center;
	}

  .main-menu li ul.submenu {
    top: 36px;
  }
  /*
    .main-menu {
      margin-top: 45px;
    }
	.headerSmall .header-wrapper .main-menu {
	    margin-top: 25px;
	}
	*/
	.utility-menu {
    	margin: 55px 20px 0 0;
    }

    .meta-menu ul {
      margin: 0 0 0 0; }

    .meta-menu li a {
      height: 40px;
      line-height: 40px;
      margin: 0px 0px 0px 20px;
    }

    .headerSmall .header-wrapper .main-logo {
      margin: 26px 0 0 20px; }
    .headerSmall .header-wrapper .utility-menu {
      margin: 40px 20px 0 0; }
    .headerSmall .main-menu li a {
      font-size: 16px;
    }
    .col-menu {
      margin-top: 3vw;
    }
    .meta-menu {
      min-height: 4.2vw;
    }
    .headerSmall .col-menu {
      margin-top: 3.1vw;
    }

  .headerSmall .meta-menu {
      min-height: 3.4vw;
    }
}


@media screen and (min-width: 1600px) {
	
	.main-menu li a {
      font-size: 1.5em;
      padding: 0 0 10px 0;
      margin: 0 15px 0 15px;
	}

  .main-menu li ul.submenu {
    top: 40px;
  }
	
	
	.headerSmall .header-wrapper .main-menu {
	    margin-top: 0px;
	}
  	
  	.main-logo {
	  margin: 40px 0 0 20px; }

	.main-logo i {
	 font-size: 2.5em; }
	 
	
	.utility-menu {
    	margin: 65px 20px 0 0;
    }

  .headerSmall .header-wrapper .main-logo {
    margin: 20px 0 0 20px; }
  .headerSmall .header-wrapper .utility-menu {
    margin: 46px 20px 0 0; }

  .col-menu {
    margin-top: 3vw;
  }

  .meta-menu {
    min-height: 3vw;
  }
  .headerSmall .col-menu {
    margin-top: 2.8vw;
  }

  .headerSmall .meta-menu{
    min-height: 2vw;
  }

  .headerSmall .main-menu li a {
    font-size: 18px;
  }

  .utility-menu li.lang-menu a {
    font-size: 1em;
  }
}

@media screen and (min-width: 1920px) {
  .utility-menu {
    margin: 70px 20px 0 0;
  }

  .main-menu li ul.submenu {
    top: 42px;
  }

  .meta-menu {
    min-height: 3.5vw;
  }
  .col-menu {
    margin-top: 3.5vw;
  }
  .headerSmall .col-menu {
    margin-top: 2.3vw;
  }

  .headerSmall .meta-menu{
    min-height: 2vw;
  }
  .main-logo i {
    font-size: 3em; }
}

@media screen and (min-width: 1921px) {
  .col-menu {
    margin-top: 2.5vw;
  }
  .meta-menu {
    min-height: 2.5vw;
  }
  .headerSmall .col-menu {
    margin-top: 1.5vw;
  }
}

/*
@media only screen and (min-width: 993px) {
	.header-wrapper {
		height: 100px;
		background: linear-gradient(black, transparent);
	}
}
*/



#mobile-header .mobile-menu-wrapper {
  float: left;
  margin-top: 10px;
  padding-left: 20px;
  width: 20%; }

#mobile-header .mobile-menu-wrapper .fa {
  font-size: 1.875em;
  color:#ffffff; }

#mobile-header .menu-lang {
  display: inline-block;
  float: right;
  margin-top: 30px;
  padding-right: 20px;
  width: 20%; }

#mobile-header .menu-lang ul {
  list-style:none;
  margin: 0;
  padding: 0; }

#mobile-header .menu-lang li a {
  float: right;
  font-size: 1.125em;
  font-weight: 300;
  margin: 0;
  color: #ffffff; }

#mobile-header .menu-lang li a:hover {
  color: #4c4a4a;
  text-decoration: none; }

#mobile-header .menu-lang a.active {
  font-weight: 300; }

#mobile-header .logo-main-mobile {
  float: none;
  display: inline-block;
  margin-top: 20px;
  text-align: center;
  width: 60%; }

#mobile-header .logo-main-mobile i {
  color: #ffffff;
  font-size: 1.875em; }

#mobile-header .menu-lang, #mobile-header .menu-lang a {
  float: right; }

.mobile-menu-wrapper a {
  display: block;
  float: left;
  margin: 15px 0; }

.mobile-menu-wrapper a:focus, .mobile-menu-wrapper a:hover {
  text-decoration: none; }

.icon-mobile-menu:before {
  font-size: 30px;
  line-height: 30px; }

#mobile-menu .menu-search {
  display: block;
  float: left;
  width: 100%;
  padding: 10px 20px; }

#mobile-menu .menu-search input {
  width: 80%;
  height: 35px;
  border: 0 none;
  padding: 10px;
  border-bottom: 1px solid #4c4a4a;
  color: #4c4a4a;
  font-size: 16px;
  line-height: 35px;
  background-color: transparent; }

#mobile-menu .search-btn {
  margin-left: 10px; }
#mobile-menu .search-btn i {
  color: #4c4a4a; }
  



/***** Mobile menu *****/
.mm-menu {
  border-color: #4c4a4a;
  color: #4c4a4a;
  background: #ededf0; }

.mm-menu .mm-navbar a, .mm-menu .mm-navbar > * {
  color: #999999; }

.mm-listview a:hover, .mm-navbar a:hover {
  color: #4c4a4a; }

.mm-listview a {
  border-bottom: 1px solid #858585; }

.mm-listview .mm-next:before {
  content: none; }

.mm-menu .mm-listview > li .mm-arrow:after, .mm-menu .mm-listview > li .mm-next:after, .mm-menu .mm-btn:after, .mm-menu .mm-btn:before {
  border-color: #858585; }

.mm-listview > li, .mm-listview > li .mm-next, .mm-listview > li .mm-next:before, .mm-listview > li:after {
  border-color: #858585; }

.mm-menu .mm-listview > li.mm-selected > a:not(.mm-next), .mm-menu .mm-listview > li.mm-selected > a.mm-next, .mm-menu .mm-listview > li.mm-selected > span {
  color: #4c4a4a;
  background-color: #ededf0; }

.menu-utility-mobile {
  margin-top: 16px; }

.menu-utility-mobile li {
  float: left;
  width: 100%; }

.menu-utility-mobile a {
  width: auto;
  padding: 5px 20px !important;
  border-bottom: 0 none;
  font-size: 15px; }

.menu-utility-mobile li a i {
  height: 16px;
  padding-right: 5px; }

#mm-blocker {
  z-index: 13; }

/***** STRUTTURA PAGINA Begin *****/
header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 100; }

header .header-top {
  background-color: #333333;
  height: 70px;
  padding-top: 10px; }

header .header-top span {
  display: inline-block;
  vertical-align: top; }

header .header-top .user {
  padding: 14px 0px 0px 0px;
  font-size: 0.875em;
  color: #ffffff; }

header .header-top .user .name {
  font-family: font_family_regular;
  font-size: 1em;
  color: #ffffff;
  font-weight: bold; }

header .header-top .photo {
  position: absolute;
  right: 0;
  top: 0; }

header .header-top .photo img {
  border-width: 2px;
  border-style: solid;
  border-color: #e9e7e4;
  border-radius: 100px; }

header .header-top span.site-title {
  font-size: 1.75em;
  color: #ffffff;
  margin-top: 6px; }

header .header-top #logo {
  display: inline-block;
  float: left;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

header .header-bottom {
  width: 100%;
  height: 121px;
  display: block;
  background: url("../images/bck/header.jpg") center center no-repeat; }

.headerSmall .header-bottom {
  display: none;
  height: 0px; }

.layer {
  background-color: rgba(0, 0, 0, 0.75); }

.background_footer {
  background: #000000;
  background: #2a2a2a url("../images/bck/bg_footer.jpg") center top repeat-y; }

footer {
  color: #ffffff;
  padding: 2.5em 0; }

footer .border_grey_top_bottom {
  border-top: 1px solid #6d6d6d;
  border-bottom: 1px solid #6d6d6d;
  padding: 1.875em 0;
  margin: 1.875em 0px 2.5em 0px; }

footer p {
  font-size: 0.875em;
  color: #ffffff; }

footer a {
  color: #ffffff;
  text-decoration: none; }

footer a:hover, footer a:focus {
  color: #ffffff;
  text-decoration: none; }

footer ul li {
  display: inline-block;
  margin-right: 0px; }

footer ul.social li {
  margin-right: 20px; 
  float: left;}

footer ul.social li a {
  text-decoration: none; }

footer ul.social li a i {
  color: #4c4a4a;
  font-size: 2.500em; }

footer ul.social li a:hover i {
  color: #C41230; }

footer .logo i {
  display: block;
  color: #ffffff;
  font-size: 1.875em; }

footer .metanav {
  color: #656565;
  font-size: 1em;
  font-weight: 400; }

footer .metanav ul {
  display: inline-block; }

footer .metanav ul li {
  display: inline-block;
  padding-left: 1.25em; }

footer .metanav ul li a {
  text-transform: uppercase;
  color: #656565; }
  
footer .metanav ul li a:hover {
  text-decoration: underline; }

footer .metanav a {
  color: #656565; }

@media screen and (max-width: 1024px) {
  header .header-top {
    height: 70px;
    margin-bottom: 20px; }
  header .header-top #logo img {
    width: 50%; }
  header .header-top span.site-title {
    font-size: 0.875em; }
  header .header-bottom {
    display: none; } }

/***** STRUTTURA PAGINA End *****/
/***** COMPONENTI PAGINA Begin *****/
.bck-image-red {
  background-color: #880815; /*#C41230;*/
  background-image: url("../images/bck/bg_red.jpg");
  background-position: center top;
  background-repeat: no-repeat; }

.bck-image-red p {
  color: #ffffff; }

.bck-image-red i {
  display: inline-block;
  margin: 0 0 0.625em 0;
  background-color: #ffffff;
  font-size: 2.5em;
  border-radius: 2.5em;
  padding: 0.313em; }

.bck-image {
  position:relative;
  background-position: center top;
  background-repeat: no-repeat;
  min-height: 200px; }
  
  
@media screen and (min-width: 768px) {
	.bck-image {
 		min-height: 430px; 
 	}
}

.titleMiddle {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
}

.header_image, .header_slider {
  margin-top: 70px; }

.header_image .box-title-shadow {
  /*background: rgba(0, 0, 0, 0) linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9)) repeat scroll 0 0;*/
  top: 0;
  left: 0;
  padding: 40px 0px 0px 0px;
  position: absolute;
  width: 100%;
 }

.header_image .box-title-shadow h1 {
  display: inline-block; }

.header_image .box-title-shadow .abstract {
  font-size: 1.375em;
  color: #ffffff;
  font-weight: 600;
}
  
#news .header_image .box-title-shadow h1 {
  display: none; }

.header_image .box-title-shadow a {
  font-size: 2.125em;
  color: #4c4a4a;
  display: inline-block; }

.header_image .box-title-shadow a:hover {
  color: #ffffff; }

.header_image .box-title-shadow span {
  font-size: 2.125em;
  color: #4c4a4a;
  display: inline-block;
  margin: 0 0.625em; }

@media screen and (min-width: 992px) and (max-width: 1024px) {
	.header_image .box-title-shadow {
	    padding: 100px 0px 20px 0px; 
	  }	
}

@media screen and (min-width: 1025px) {
	.header_image, .header_slider {
	    margin-top: 0px; 
	    min-height:430px;
	  }
  .header_image .box-title-shadow {
    padding: 300px 0px 20px 0px; 
  }
  
  #news .header_image, .header_slider, #news-list .header_image, #news-list .header_slider {
	    margin-top: 0px; 
	    min-height:340px;
	  }
	#news .header_image .box-title-shadow, #news-list .header_image .box-title-shadow {
	    padding: 200px 0px 20px 0px; 
	  }
}

.teaser-red {
  display: inline-block;
  position: relative;
  width: 100%;
  min-height: 120px;
  padding: 1.25em;
  margin-bottom: 1.25em;
  border-radius: 4px;
  background-color: #C41230;
  color: #ffffff; }

.teaser-red h3 {
  color: #ffffff;
  display: block; }
  
.teaser-red p {
	color: #ffffff;
  display: inline-block; }
  
.teaser-red:hover h3, .teaser-red:hover p {
  color: #ffffff;
}

.teaser-red:hover h3 {
	text-decoration:underline;
}

.teaser-red .content {
  float:left;
  display: inline-block;
  vertical-align: top; 
  margin-left: 100px;}
  
.teaser-red .content-icon {
  float:left;
  width:60%;
  display: inline-block;
  vertical-align: top; }
  
.teaser-red .imageicon {
  float:left;
  width:30%;
  display: inline-block;
  vertical-align: top;
}

.teaser-red .content.no-icon {
  margin-left: 0;
 }

.teaser-red i.round {
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #ffffff;
  color: #C41230;
  font-size: 3.125em;
  border-radius: 3.125em;
  padding: 0.313em; }

.teaser-red i.round.round-img {
  width: 44px;
  height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.teaser-red i.round.round-img img {
  width: 60%;
}
@media screen and (min-width: 768px) {
  .teaser-red i.round.round-img {
    width: 70px;
    height: 70px;
  }
}
@media screen and (min-width: 992px) {
  .teaser-red i.round.round-img {
    width: 80px;
    height: 80px;
  }
}

.teaser-red .link {
  display: inline-block;
  color: #ffffff;
  font-size: 1em;
  font-weight: 300;
  text-transform: uppercase; }
  
@media screen and (max-width: 640px) { 
	 .teaser-red .content {
	 	 margin-left: 5.25em;
	 } 
	 
	 .teaser-red i.round {
	 	font-size: 2.25em;
	 }
}

.col-lg-4 .teaser-red i.round {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block;
}
.col-lg-4 .teaser-red .content {
    margin-left: 0;
    margin-top: 20px;
}
.teaser-red .linkWhiteArrow, .teaser-red .linkWhiteArrow {
    margin-bottom: 15px;
}

.teaser-grey {
  display: block;
  width: 100%;
  position: relative;
  padding: 1.25em;
  margin-bottom: 1.25em;
  border-radius: 4px;
  background-color: #ededf0;
  color: #ffffff; }

.teaser-grey:last-child {
  margin-bottom: 0px; }

.teaser-grey .news_detail {
  display: inline-block;
  margin-left: 5em;
  vertical-align: top; }

.teaser-grey .date {
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #ffffff;
  color: #C41230;
  font-size: 1.125em;
  border-radius: 3.125em;
  padding: 0.625em;
  text-align: center; }

.teaser-bck-image-rounded {
  display: inline-block;
  width: 100%;
  padding: 1.25em 2.5em;
  border-radius: 6px;
  background-position: center top;
  background-repeat: no-repeat; }
 
@media screen and (max-width: 992px) {
	 .teaser-bck-image-rounded {
	 	margin-bottom:20px;
	 }
 }

.teaser-bck-image-rounded h2 {
  color: #ffffff; 
  }
  
.teaser-bck-image-rounded span.subtitle {
	display:inline-block; padding-bottom:1.25em;
	color: #ffffff;
  font-size: 1.25em;
}
 
.teaser-bck-image-rounded p {
  color: #ffffff;
  font-size: 1.25em; 
 }


.teaser-white {
  display: inline-block;
  width: 100%;
  padding: 2.5em 1.25em;
  margin-bottom: 1.25em;
  border-radius: 4px;
  background-color: #ffffff; }

.teaser-white p {
  font-weight: 600;
  font-size: 1.5em; }

.teaser-product {
  display: inline-block;
  width: 100%;
  position: relative;
  text-align: center;
  padding: 0px;
  margin-bottom: 1.25em;
  border-radius: 4px;
  background-color: #ededf0; }

.teaser-product i {
  /*margin:-40px 0px 0px 0px;*/
  display: inline-block;
  position: absolute;
  left: 50%;
  margin-left: -0.938em;
  top: -0.938em;
  background-color: #ffffff;
  font-size: 2.5em;
  border-radius: 2.5em;
  padding: 0.313em;
  z-index: 10; 
}

.teaser-product span.imageicon {
  /*margin:-40px 0px 0px 0px;*/
  display: inline-block;
  width:66px;
  height:66px;
  position: absolute;
  left: 50%;
  margin-left: -33px;
  font-size: 2.5em;
  border-radius: 50%;
  top: -33px;
  z-index: 10; 
}

.teaser-product .info {
  position: relative;
  padding: 3.5em 1.25em 5em 1.25em; }

.teaser-product .info.big {
	 padding-top: 5em
}

.teaser-product .info p {
  padding-bottom: 0.625em; }
  
 /*
 .teaser-product:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1); 
 }
 */
 
  .teaser-product:hover h3   {
  	text-decoration:underline;
  }
  
  .teaser-product:hover img {
  	opacity:0.5;
  }
  
  .teaser-product:hover span.imageicon img {
  	opacity:1;
  }

 .teaser-news {
  display: block;
  width: 100%;
  position: relative;
  padding: 1.25em;
  margin-bottom: 1.25em;
  border-bottom:1px solid #d7d7d9;
  color: #ffffff; }

.teaser-news .date, .info .date {
  display:inline-block;
  width:100px;
  height:100px;
  background-color: #ffffff;
  color: #C41230;
  font-size: 18px;
  border-radius: 50%;
  padding: 18px 0px 0px 0px ;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 600;
  text-align: center;
  margin-bottom:20px;
 }

.dateabs {
	position:absolute;
	display:inline-block;
	background-color: #ffffff;
	left: 50%;
	width:100px;
  	height:100px;
	margin-left: -50px;
	top: -50px;
	z-index: 10; 
	color: #C41230;
	font-size: 18px;
	border-radius: 50%;
	font-family: 'Source Sans Pro', sans-serif;
  	font-weight: 600;
	text-align: center; 
	vertical-align:middle;
	padding-top:25px;
}

 .info .date {
 	margin-bottom:20px;
 }

.teaser-news .date .month, .info .date .month {
	text-transform:uppercase;
}

.teaser-news .date .year, .info .date .year {
	color:#464652; 
}

.teaser-news i {
	font-family: 'Source Sans Pro', sans-serif;
  	font-weight: 600;
	color: #c41230;
	font-size:1.250em;
}


.teaser-more {
  float:left;
  width: 100%;
  position: relative;
  padding: 0px;
  margin-bottom: 1.25em;
  background-color: #fff; }

.teaser-more img {
  float:left;
  display:block;
  width:165px;
  height:165px;
}

.teaser-more .info {
  float:left;
  width:55%;
  padding: 1.25em 1.25em 1.25em 1.875em; }

.teaser-more .info p {
  padding-bottom: 0.625em; }

.teaser-more .arrow {
  position:absolute;
  bottom:30px;
  right:10px;
}

.teaser-more .arrow .icon-arrow-right {
  color:#c41230;
}

a.teaser-more .arrow .icon-arrow-right {
  margin-right: 1em;
  margin-left: 0;
}
a:hover.teaser-more .arrow .icon-arrow-right {
  margin-right: 0.25em;
  margin-left: 0;
}

/*
.teaser-product:hover img {
 -webkit-transform: scale(1.1);
 -moz-transform: scale(1.1);
 -ms-transform: scale(1.1);
 -o-transform: scale(1.1);
 transform: scale(1.1);
}
*/

.teaser-more:hover h3   {
  text-decoration:underline;
}

.teaser-more:hover img {
  opacity:0.5;
}


.detailsFile {
	dislay:block;
	width:100%;
 	margin-bottom:20px;
 	color:#454550;
 	font-family: 'Source Sans Pro', sans-serif;
  	font-weight: 600;
  	text-transform:uppercase;
 }
 
 .dateNews {
 	font-size: 1.25em;
 	text-transform:uppercase;
 }
 
 @media screen and (mix-width: 640px) { 
 	.teaser-news .date, .info .date {
 		 margin-bottom:0px;
 	}
}

 @media screen and (min-width: 1024px) {
  .teaser-more .info {
    width:60%;
  }
}
@media screen and (min-width: 1600px) {
  .teaser-more .info {
    width:70%;
  }
}
/***** SLICK SLIDER *****/


.slide-right {
  position: relative; 
}

.main-slider img.max {
  height: 250px;
  width: auto; }

.main-slider .captions-slider {
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 100;
  width:100%;
}

.main-slider .slide-right .captions-slider h2 {
  font-size: 2.25em;
  color: #ffffff;
  margin-bottom: 0px;
  /*text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.35);*/
  line-height: 1.2em; 
}

.main-slider .slide-right .captions-slider h3 {
  font-size: 1.75em;
  font-weight: 300;
  color: #ffffff;
  line-height: 1.2em; 
}
  
.main-slider .captions-slider .align-slide {
	text-align:center;
}
  
@media screen and (max-width: 1024px) {  
	.slick-dotted.slick-slider{
		margin-bottom:0px;
	}
}

@media screen and (min-width: 768px) {
  .main-slider img.max {
    height: auto;
    width: 100%; 
}
  .main-slider .captions-slider {
    top: 80px;
    width:100%; 
  }
  .main-slider .slide-right .captions-slider h2 {
    font-size: 3.75em; 
  }
}

@media screen and (min-width: 992px) {
  .main-slider .captions-slider {
    top: 100px;
    width:96%;  
  } 
  .main-slider .captions-slider .align-slide {
  	text-align:right;
  }
}

@media screen and (min-width: 1460px) {
  .main-slider .captions-slider {
    top: 40%; }
  .main-slider .slide-right .captions-slider {
    top: 30%; } 
}

.slick-dots {
  bottom: 30px;
  z-index: 100; }

.slick-dots li {
  margin: 0 5px;
  padding: 0; }

.slick-dots li button {
  width: 20px;
  height: 20px;
  padding: 5px;
  color: #ffffff; }

.slick-dots li button:before {
  font-size: 10px;
  line-height: 20px;
  width: 20px;
  height: 20px;
  opacity: 0.5;
  color: #ffffff; }

.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #ffffff; }
  
 @media screen and (min-width: 992px) { 
	.slick-dots li button {
	  width: 30px;
	  height: 30px;
	 }
	
	.slick-dots li button:before {
	  font-size: 20px;
	  line-height: 30px;
	  width: 30px;
	  height: 30px;
	}
 }


/***** END SLICK SLIDER *****/
/***** FORM Begin *****/
.error {
  text-transform: none;
  color: #C41230; }

form {
  float: left;
  width: 100%;
  margin: 1.25em 0px 1.25em 0px;
  padding: 0px; }

.form-group {
  float: left;
  width: 100%;
  padding: 0px 0px;
  margin-bottom: 15px; }

.form-control {
  height: 42px;
  padding: 10px 12px;
  background-color: #ffffff;
  border-radius: 0px;
  border: 1px solid #dddddd;
  color: #4c4a4a;
  font-size: 1em; }

.form-control::-webkit-input-placeholder {
  color: #4c4a4a;
  font-size: 1em; }

.form-control:-moz-placeholder {
  color: #4c4a4a;
  font-size: 1em; }

.form-control::-moz-placeholder {
  color: #4c4a4a;
  font-size: 1em; }

.form-control:-ms-input-placeholder {
  color: #4c4a4a;
  font-size: 1em; }

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  opacity: 0.5; }

.form-control:focus {
  border-color: #4c4a4a;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 51, 51, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(51, 51, 51, 0.6); }
  
  
form.form_newsletter {
	margin: 0px 0px 1.25em 0px;
	
}

form.form_newsletter  input{
	height: 43px;
	width:300px;
	margin: 2px 10px 0px 0px;
	padding: 0px 10px;
	background-color: #454444;
	border-radius: 5px;
	border: 1px solid #454444;
	color: #fff;
	font-size: 1em;
}


/* ============= 
 Form
================ */

.form-field {
    margin-bottom:25px;
}
.form-field label {
    width:100%;
    margin-bottom:8px;
    font-size:25px; line-height:30px; color:#464652;
    font-weight: 400; text-transform:uppercase;
}
.form-field input, .form-field textarea {
	display:block; float:left;
    width:100%;
    height:60px;
    padding:0 10px;
    border:1px solid #ffffff;
    font-size:16px; line-height:60px; color:#464652;
    font-weight: 300;
    -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
}
.form-field textarea {
    height:110px;
    padding:10px;
    line-height:20px;
    resize:none;
}
.form-btn-wrapper {
    float:right;
    width:100%;
    text-align:right;
}

.form-btn-wrapper .btn {
	padding:10px 50px;
}


.form-field.error label {
    color:#D90000;
}
.form-field.error input, .form-field.error textarea {
    border:1px solid #D90000;
}
.form-field.error p.error-message {
    display:block; float:left;
    width:100%;
    margin-top:5px;
    color:#D90000; font-size:12px;
}

.form-field p.mandatory {
    display:block; float:left;
    width:100%;
    margin-top:5px;
    color:#464652; font-size:16px;
}
/***** FORM End *****/


/***** Alert Cookies *****/
.cookie-alert {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 25px;
  font-size: 0.8em;
  background: #000000;
  z-index: 1000; }

.cookie-alert .content {
  position: relative;
  text-align: center; }

.cookie-alert p, .cookie-alert a {
  display: inline-block;
  float: none;
  width: auto;
  padding: 0;
  margin: 0 10px;
  font-size: 16px; }

.cookie-alert p {
  width: 100%;
  color: #ffffff; }

.cookie-alert a, .cookie-alert a:focus {
  color: #ffffff;
  text-decoration: underline; }

.cookie-alert a:hover {
  color: #ffffff;
  text-decoration: none; }

/***** Transitions *****/
a, a:after, a:before, button, .btn, img, label, i {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

.main-menu li a, .main-menu li a:after, .main-menu li a:before {
  -webkit-transition: all 0s ease-out;
  -moz-transition: all 0s ease;
  -o-transition: all 0s ease-out;
  -ms-transition: all 0s ease-out;
  transition: all 0s ease-out; }
   
.grid-item { width: 400px;  border-radius: 6px; }
  
  /* SLIDER */

.slider-gallery .slick-slide, .slider-box .slick-slide {
    margin-bottom:30px;
}
.slider-gallery .slick-dots, .slider-box .slick-dots {
    bottom: -15px;
}
.slider-gallery .slick-dots li , .slider-box .slick-dots li {
    width:30px;
    margin:0;
}
.slider-gallery .slick-dots li button,  .slider-gallery .slick-dots li button:before, .slider-box .slick-dots li button,  .slider-box .slick-dots li button:before {
    color: #B5B5B5;
}
.slider-gallery .slick-dots li.slick-active button:before, .slider-box .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #666666;
}
.slider-gallery .slick-dotted.slick-slider, .slider-box .slick-dotted.slick-slider {
    margin-bottom: 50px;
}
.modal-open {
    overflow: visible;
    padding-right:0!important;
}


/* ============= 
History
================ */


.cd-container {
  width: 100%;
}
.cd-container::after {
  content: '';
  display: table;
  clear: both;
}
#cd-timeline {
  position: relative;
}
#cd-timeline::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  width: 6px;
  background: #dbdbdd;
  margin-left: -3px;
}
.cd-timeline-block {
    position: relative;
    margin-bottom:20px;
}
.cd-timeline-block h2 {
    color: #76c06b;
}
.cd-timeline-block h2.titleLeft {
	float: left; 
	width: 37%; 
	margin-left: 13%; 
	text-align: center;
}
.cd-timeline-block h2.titleRight {
	float: right; 
	width: 37%; 
	margin-right: 13%; 
	text-align: center;
}
.cd-timeline-block img {
    width: 100%;
    margin: 10px 0px 20px;
}
.cd-timeline-block .cd-story div.cd-circle-white {
	margin-top:40px;
}
.cd-timeline-block .cd-story:first-child div.cd-circle-white {
	margin-top:140px;
}
.cd-timeline-block .cd-story div.cd-timeline-content {
	margin-top:20px;
}
.cd-timeline-block .cd-story:first-child div.cd-timeline-content {
	margin-top:120px;
}
.cd-timeline-block:nth-child(3) .cd-story div.cd-circle-white {
	margin-top:80px;
}
.cd-timeline-block:nth-child(3) .cd-story:first-child div.cd-circle-white {
	margin-top:180px;
}
.cd-circle-white {
    height: 20px;
    left: 50%;
    margin-left: -10px;
    width: 20px;
    position: absolute;
    border-radius: 10px;
    background: #fff;
}
.cd-circle-green {
    height: 12px;
    width: 12px;
    border-radius: 6px;
    position: absolute;
    background: #76c06b;
    top: 4px;
    left: 4px;
}

.cd-circle-blue {
    height: 12px;
    width: 12px;
    border-radius: 6px;
    position: absolute;
    background: #237fb5;
    top: 4px;
    left: 4px;
}

.cd-circle-red {
    height: 12px;
    width: 12px;
    border-radius: 6px;
    position: absolute;
    background: #ee284a ;
    top: 4px;
    left: 4px;
}

.cd-circle-white.first {
	background:#dbdbdd;
}
.cd-circle-white.first .cd-circle-green, .cd-circle-white.first .cd-circle-blue {
	background:white;
}

.cd-timeline-content {
	position: relative;
	width: 37%;
}
.cd-timeline-content.left {
	float: left;
	margin-left: 10%;
}

.cd-timeline-content.right {
	float: right;
	margin-right: 10%;
}


.box-grey {
    border: 3px solid #dbdbdd;
    padding: 20px;
}

.arrow-left::after {
    border-bottom: 10px solid transparent;
    border-right: 20px solid #fff;
    border-top: 10px solid transparent;
    content: "";
    height: 0;
    left: 5px;
    position: absolute;
    top: -10px;
    width: 0;
}

.arrow-left {
    border-bottom: 10px solid transparent;
    border-right: 20px solid #dbdbdd;
    border-top: 10px solid transparent;
    display: block;
    height: 0;
    left: -20px;
    position: absolute;
    top: 20px;
    width: 0;
    z-index: 1;
}


.arrow-right::after {
    border-bottom: 10px solid transparent;
    border-left: 20px solid #fff;
    border-top: 10px solid transparent;
    content: "";
    height: 0;
    position: absolute;
    right: 5px;
    top: -10px;
    width: 0;
}

.arrow-right {
    border-bottom: 10px solid transparent;
    border-left: 20px solid #dbdbdd;
    border-top: 10px solid transparent;
    display: block;
    height: 0;
    position: absolute;
    right: -20px;
    top: 20px;
    width: 0;
    z-index: 1;
}

/*  ACCORDION   */
.accordion a.open_accordion {
	width: 28px;
	height: 28px;
	float: right;
	background: url(../images/icone/ico-open-accordion.png) no-repeat left top;
	cursor: pointer;
}
.accordion a.close_accordion {
	width: 28px;
	height: 28px;
	float: right;
	background: url(../images/icone/ico-close-accordion.png) no-repeat left top;
	cursor: pointer;
}

/*GALLERY*/

.grid {
  background: #DDD; width:100%;
}

.grid:after {
  content: '';
  display: block;
  clear: both;
}



.grid-sizer,
.grid-item {
  width: 33.333%;
}

.grid-item {
  float: left;
}

.grid-item img {
  display: block;
  max-width: 100%;
  border-radius: 6px;
}

#map-container {
  float: left;
  width: 100%;
  height: 250px; }
  @media (min-width: 768px) {
    #map-container {
      height: 300px; } }
  @media (min-width: 992px) {
    #map-container {
      height: 400px; } }
  @media (min-width: 1200px) {
    #map-container {
      height: 500px; } }

.pagination>li>a:hover,
.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
    color: #fff;
    background-color: #C41230;
    border-color: #C41230;
}
.pagination>li>a:focus, 
.pagination>li>a, .pagination>li>span {
    color: #C41230;
    background-color: #fff;
    border: 1px solid #fff;
    margin: 0 10px;
    border-radius: 50% !important;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 25px;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
}
.row.teaser-news.teaser-pagination {
	padding-top: 0;
	padding-bottom: 0;
	border: none;
}

@media (max-width: 767px) {
	form.form_newsletter {
		display: flex;
		width: 100%;
	}
	form.form_newsletter input {
	    width: auto;
	    flex: 1 1 auto;
	    display: block;
	}
	form.form_newsletter .btn-red {
	    display: inline-block;
	}
	.background_footer {
	    background: #2a2a2a url(../images/bck/bg_footer.jpg) center top no-repeat;
	    background-size: cover;
	}
	.row.teaser-news {
		text-align: center;
		margin-right: 0;
		margin-left: 0;
	}
}

.imageicon img {
	width: 66px;
    height: 66px;
}

@media (max-width: 991px) {
	h1, .h1 {
		margin-top: 1em;
	}
}

.main-slider .slick-slide {
	background-size: cover;
}
.main-slider .slick-slide a {
	display: block;
    background: linear-gradient(black, transparent);
}
.main-slider .slick-slide a img {
	visibility: hidden;
}

.bck-gradient {
	background: linear-gradient(black, transparent);
}
.bck-gradient-absolute {
	background: linear-gradient(black, transparent);
	position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}    
.header_image {
	background-size: cover;
}
.header_image figure {
	display: block;
    background: linear-gradient(black, transparent);
}
.header_image figure img {
	visibility: hidden;
}

a .icon-arrow-right {
	-webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    margin-left: 0.25em;
}
a:hover .icon-arrow-right {
	margin-left: 1em;
	-webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
a .text-right .icon-arrow-right {
	margin-right: 1em;
	margin-left: 0;
}
a:hover .text-right .icon-arrow-right {
	margin-right: 0.25em;
	margin-left: 0;
}

@media (min-width: 768px) {
	.row.flex {
		display: flex;
	    justify-content: center;
	    flex-wrap: wrap;
	}
	.row.flex [class^="col-"], .row.flex [class*=" col-"] {
		float: none;
	}
}

.quote p {
	font-style: italic;
	font-size: 2em;
}
.quote p:before {
	content: open-quote;
    font-size: 2em;
    top: 0.1em;
    position: absolute;
}
.quote p:after {
	content: close-quote;
    font-size: 2em;
    bottom: 0.4em;
    position: absolute;
}
.quote span {
	display: inline-block;
	width: 1em;
}

.teaserNumber .background_white {
	position: relative; 
	margin-top: 25%; 
	margin-bottom: 15%;
	padding-bottom: 100%; 
	display: inline-block; 
	width: 100%; 
	border-radius: 50%; 
	text-align: center;
}
.teaserNumber .background_white img {
	position: absolute; 
	left: 50%; 
	top: 50%; 
	transform: translate(-50%, -50%);
}
.teaserNumber h2.h1 {
	font-size: 4em; 
	color: #464652; 
	margin-top: 0;
}

.accordionItem {
	border-bottom: 1px solid #d3d2d7; 
	padding: 20px 0;
	position: relative;
}
.accordionItem .accordion {
	margin: 0;
	cursor: pointer;
	color: #C41230;
	position: relative;
	padding-right: 30px;
}
.accordionItem .accordion:after,
.accordionItem .accordion:before {
	position: absolute;
    right: 0;
    width: 24px;
    height: 2px;
    color: #C41230;
    content: "";
    top: 50%;
    transform: translate(0, -50%);
    z-index: 1;
    background: #C41230;
    transition: all 0.3s ease-out;
}
.accordionItem .accordionContent {
	padding-top: 20px; 
}
.accordionItem .accordion:after {
	transform: rotate(90deg);
	transition: all 0.3s ease-out;
}
.accordionItem .accordion.active:after {
	transform: rotate(0deg);
	transition: all 0.3s ease-out;
	margin-top: -1px;
}

.teaser-light h4 {
	text-transform: uppercase;
    position: relative;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
}
.teaser-light h4:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 46px;
	height: 4px;
	background: #C41230;
	margin-left: -23px;
	z-index: 1;
}

.img-responsive {
    display: inline-block;
}

.input-disclaimer {
	float: left;
}
.label-disclaimer {
	font-weight: normal;
	float: left;
	max-width: 90%;
	margin-left: 10px;
}


.masonry .teaser-tag li {
	display:inline-block;
}
.masonry .teaser-tag li a {
	color: #464652; 
	padding: 0 25px; 
	margin: 0 10px 15px; 
	line-height: 38px; 
	width: auto; 
	border-radius: 20px !important; 
	border: 1px solid #C41230;
	text-transform: uppercase;
}
.masonry .teaser-tag li.active a,
.masonry .teaser-tag li a:hover {
	color: white;
	background: #C41230; 
}
.masonry .teaser-product {
	background: white;
	margin-bottom: 2em;
}
.masonry .teaser-product.highlight {
	background-color: white;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.masonry .teaser-product .info {
	text-align: left; 
	padding-bottom: 3em; 
	padding-top: 2em; 
	position: relative; 
	z-index: 1;
}
.masonry .teaser-product.highlight .info {
	background: rgba(0,0,0,0.4);
	padding: 4em 3.5em 3em;
	border-radius: 4px;
}
.masonry .teaser-product.highlight .info h3,
.masonry .teaser-product.highlight .info p {
	color: white;
}
.masonry .teaser-product .info .item-tags {
	position: absolute; 
	top: -0.6em;
}
@media screen and (min-width: 767px) { 
	.masonry .teaser-product .info .item-tags { 
		top: -0.75em;
	}
}
.masonry .teaser-product.highlight .info .item-tags {
	top: 0; 
	position: relative; 
	margin-bottom: 20px;
}
.masonry .teaser-product .info .item-tag {
	margin-right: 10px; 
	background: #C41230;
	color: white;
	padding: 5px 15px;
	text-transform: uppercase;
	font-size: 12px;
	border-radius: 1em;
	font-weight:600;
}		
.masonry .teaser-product .read-more {
	position: absolute; 
	left: 1.25em; 
	bottom: 1.75em; 
	color: #C41230; 
	font-weight: 600;
}
.masonry .teaser-product.highlight .read-more {
	display: none;
}
.masonry .teaser-product .title-margin {
	margin-bottom: 0.75em;
}
.masonry .btn-more {
	font-size: 14px;
}

/*update footer*/
.footernav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
footer .metanav ul {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}
footer .metanav ul li {
  display: inline-block;
  padding: 10px 0;
  margin: 0 10px;
}
footer .copyright {
  text-align: center;
}
footer .metanav ul li.youtube {
  margin-top: 6px;
}
footer .border_grey_top_bottom {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .footernav {
    flex-direction: row;
    text-align: left;
  }
  footer ul.social li {
    margin-right: 0px;
    float: left;
    padding: 10px 0 0;
  }
  footer ul.social li a i {
    color: #4c4a4a;
    font-size: 1.5em;
  }
  footer .copyright {
    text-align: left;
  }
  footer .metanav ul li.youtube {
    margin-top: 4px;
  }
  footer .border_grey_top_bottom {
    border-bottom: none;
    padding: 1.875em 0;
    margin: 1.875em 0px 0 0px;
  }
}

.teaser-download {
  float:left;
  display: block;
  width: 100%;
  padding: 0px;
  margin-bottom: 1.25em;
  border-radius: 4px;
  background-color: #ededf0;
  color: #4c4a4a; }

.teaser-download .icon {
  float:left;
  display:block;
  position: relative;
  width:20%;
  height:100%;
  background-color: #C41230;
  color: #fff;
  border-bottom-left-radius: 4px ;
  border-top-left-radius: 4px ;
}

.teaser-download .icon img {
  float:left;
  display:block;
  width:64px;
  padding:25px 0 0 20px;
}

.teaser-download .info {
  float:left;
  display:block;
  padding: 1.75em;
  width:80%;
  height:100%;

}

.teaser-download .info h3 {
  font-weight: normal;
}

.teaser-download .info .btn {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .teaser-download .icon img {
    width:auto;
    padding:38px 0 0 48px;
  }
}

.teaser-contact {
  float:left;
  width: 100%;
  position: relative;
  padding: 2.5em 3.75em;
  margin-bottom: 1.25em;
  background-color: #fff;
  text-align: center;
  border-radius: 8px;
  border:3px solid #F0F0F0;
}

.teaser-contact a.link {
  display: block;
  position:relative;
  font-size: 1.125em;
  padding-top:2em;
  font-weight: 600;
  line-height: 20px;
}

.teaser-contact a.link .arrow {
  margin-left: 10px;
}

.teaser-contact a.link::after{
  content:"";
  display: inline-block;
  margin-left:10px;
  width:7px;
  height: 12px;
  background:url("../images/icone/vector.svg");
}


.teaser-contact .address {
  display: block;
  width: 100% ;
  font-size: 0.9375em;
  padding-top:2em;
  font-weight: 400;
}

.teaser-contact .address a {
  text-decoration:underline;
}

.teaser-contact .address a:hover {
  text-decoration:none;
}

.teaser-location {
  float:left;
  width: 100%;
  position: relative;
  padding: 2.5em 3.75em;
  margin-bottom: 30px;
  background-color: #F0F0F0;
  border-radius: 8px;
}

.teaser-location .address {
  float:left;
  width: 70%;
}

.teaser-location .phone {
  float:left;
  width: 30%;
  text-align: left;
}

.teaser-location p {
 font-size: 0.9375em;
  font-weight: 400;
}

.teaser-location span{
  display:block;
  font-size: 0.9375em;
  font-weight: 400;
}

.teaser-info {
  display:flex;
  flex-direction: column;
  padding: 2.5em 3.75em;
  background-color: #F0F0F0;
  border-radius: 8px;
}

.teaser-info .titleTextIcon {
  display:flex;
  flex-direction: column;
}

.teaser-info .titleTextIcon .icon {
  display:flex;
  justify-content: center;
  align-items: center;
}

.teaser-info .titleTextIcon .icon img {
  width:50px;
  height:50px;
}

.teaser-info .titleTextIcon .titleText {
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.teaser-info .titleText p {
  font-size: 0.9375em;
  font-weight: 400;
}

.teaser-info .buttonContainer {
  display:flex;
  justify-content: center;
  align-items: center;
}

.padTopRow {
  padding-top: 1.25em;
}

.tpadding-xlg {
  padding: 3.125em 0 0 0 !important; }

.bpadding-xlg {
  padding-bottom: 3.125em !important; }

@media screen and (min-width: 768px) {
  .teaser-info {
    flex-direction: row;
    justify-content: space-between;
  }

  .teaser-info .titleTextIcon {
    flex-direction: row;
    justify-content: flex-start;
    align-content:flex-start;
  }

  .teaser-info .titleTextIcon .icon img{
    margin-right:40px;
    width:59px;
    height:59px;
  }

  .teaser-info .titleTextIcon .titleText {
    justify-content: center;
    align-items: flex-start;
  }

  .teaser-info .buttonContainer {
    justify-content: flex-end;
  }
}
