.h2, .h3, h2, h3 {
  font-weight: 500;
  line-height: 1.1em
}
.h1, .h2, .h3, .h4, h1, h2, h3, h4 {
  line-height: 1.1em
}
a:link, a:visited {
  color: #2a5fa5;
  text-decoration: none
}
a:hover {
  color: #2a5fa5 !important;
  text-decoration: none
}
#news .portfolio-item h4 a:link, #news .portfolio-item h4 a:visited, .post-meta-category a:hover, .slide span a:hover, a#scrollTop:hover, a.btn-bmv-blue-outline:hover, a.btn.btn-bmv-blue-outline:hover, a.link-mega-menu:not(.btn):not(.badge):active, a.link-mega-menu:not(.btn):not(.badge):focus, a.link-mega-menu:not(.btn):not(.badge):hover {
  color: #fff !important
}
#news h4 {
	height: 35px;
}
.btn-bmv-blue-outline, .btn:not(.close):not(.mfp-close).btn-blue-outline, .list-icon.icon-list-colored i, .list-icon.list-icon-colored li::before, a.btn:not([href]):not([tabindex]).btn-blue-outline, a:not(.btn):not(.badge):active, a:not(.btn):not(.badge):focus, a:not(.btn):not(.badge):hover {
  color: #2a5fa5
}
.h1, h1 {
  font-size: 2.5em
}
.h2, h2 {
  font-size: 2.2em
}
.h3, h3 {
  font-size: 1.6em
}
.h4, h4 {
  font-size: 1.1em;
  font-weight: 600
}
.h5, .h6, h5, h6 {
  font-weight: 500
}
.h5, h5 {
  font-size: 1em;
  line-height: 1.85714286em
}
.h6, h6 {
  font-size: .85714286em;
  line-height: 2.16666667em
}
#topbar {
  background-color: #122846;
  border: none
}
#topbar .top-menu > li > a, #topbar a {
  color: #fff
}
.heading-text.heading-section h2::before {
	background-color: #2a5fa5;
}
.flickity-button {
  z-index: 1
}
.flickity-button:hover, .inspiro-slider .flickity-button:hover {
  background-color: #2a5fa5 !important;
  color: #fff
}
#header-spacer {
  background-color: #eee;
  height: 2px
}
#logo img {
  padding-bottom: 10px !important
}
#logo .logo-default img {
  margin: 10px 0 0 !important;
  padding: 0;
  width: auto;
  height: 100px !important
}
#logo img.logo-fixed {
  margin: 10px 0 0;
  padding: 0;
  width: auto;
  height: 100px !important
}
#mainMenu {
  padding: 20px 0 0
}
#mainMenu.menu-outline nav > ul > li.current > a, #mainMenu.menu-outline nav > ul > li:focus > a, #mainMenu.menu-outline nav > ul > li:hover > a {
  color: #fff !important;
  border-color: #fff !important;
  background-color: transparent
}
#mainMenu nav > ul > li > a {
  font-size: 15px
}
#mainMenu nav > ul > li > a {
	padding: 10px 5px;
}
.inspiro-slider.slider-semifullscreen {
  height: 88vh
}
.slide span {
  padding: 5px;
  color: #fff
}
.slide span a:link, .slide span a:visited {
  color: #fff;
  border-bottom: 2px solid #fff
}
.btn:not(.close):not(.mfp-close), a.btn:not([href]):not([tabindex]), button.btn {
  text-transform: uppercase;
  background-color: #2a5fa5;
  border-color: #2a5fa5;
  color: #fff
}
a.btn:not([href]):not([tabindex]).btn-bmv-white, button.btn.btn-bmv-white {
  background-color: transparent;
  border-width: 2px;
  border-style: solid;
  border-color: #fff !important;
  color: #fff !important
}
.btn:not(.close):not(.mfp-close).btn-bmv-blue, a.btn:not([href]):not([tabindex]).btn-bmv-blue, button.btn.btn-bmv-blue {
  background-color: #2a5fa5 !important;
  border-width: 2px;
  border-style: solid;
  border-color: #2a5fa5 !important;
  color: #fff !important
}
.btn:not(.close):not(.mfp-close).btn-bmv-red, a.btn:not([href]):not([tabindex]).btn-bmv-red, button.btn.btn-bmv-red {
  background-color: #c00 !important;
  border-width: 2px;
  border-style: solid;
  border-color: #c00 !important;
  color: #fff !important
}
.btn:hover, button.btn.btn-creative {
  color: #2a5fa5 !important
}
button.btn {
  color: #fff !important;
  background-color: transparent !important
}
.btn:not(.close):not(.mfp-close), a.btn:not([href]):not([tabindex]), button.btn.btn-rectangle {
  border-radius: 0
}
.btn:hover {
  background-color: #2a5fa5 !important;
  border-color: #2a5fa5 !important
}
.btn.btn-bmv-white:hover {
  background-color: #fff !important;
  border-color: #fff !important;
  color: #2a5fa5 !important
}
.btn.btn-bmv-blue:hover, .widget-contact-form .btn.btn-light, .widget-contact-form .btn:not(.close):not(.mfp-close).btn-light, .widget-contact-form .btn:not(.close):not(.mfp-close).btn-white, .widget-contact-form a.btn:not([href]):not([tabindex]).btn-light, .widget-contact-form a.btn:not([href]):not([tabindex]).btn-white, .widget-contact-form button.btn.btn-white {
  background-color: #2a5fa5 !important;
  border-color: #2a5fa5 !important;
  color: #fff !important
}
button.btn.btn-creative, button.btn.btn-creative:hover {
  background-color: transparent !important
}
.btn.btn-bmv-red:hover {
  background-color: #c00 !important;
  border-color: #c00 !important
}
#gamma-prodotti .grid-item .grid-description, #gamma-prodotti .grid-item .portfolio-description, #gamma-prodotti .grid-item .portfolio-links, #gamma-prodotti .portfolio-item .grid-description, #gamma-prodotti .portfolio-item .portfolio-description, #gamma-prodotti .portfolio-item .portfolio-links {
  text-align: center;
  visibility: visible !important
}
.background-colored, .background-pre-footer {
  background: #033082;
  background: radial-gradient(circle, #033082 0, #2a5fa5 35%, #00d4ff 100%)
}
#footer.dark a:not(.btn):not(:hover), #footer.inverted a:not(.btn):not(:hover), .dark #footer a:not(.btn):not(:hover) {
  color: #999
}
#scrollTop::after, #scrollTop::before, #search .btn-search-close, .post-item .post-audio .post-meta-category, .post-item .post-image .post-meta-category, .post-item .post-quote-img .post-meta-category, .post-item .post-slider .post-meta-category, .post-item .post-video .post-meta-category {
  background-color: #2a5fa5
}
#footer a:hover, .dark #footer a:hover {
  color: #eee !important
}
#search .btn-search-close:hover {
  color: #ddd !important
}
.btn:not(.close):not(.mfp-close).btn-primary, a.btn:not([href]):not([tabindex]).btn-primary, button.btn.btn-primary {
  background-color: #2a5fa5;
  border-color: #2a5fa5
}
.btn:not(.close):not(.mfp-close).btn-outline, a.btn:not([href]):not([tabindex]).btn-outline, button.btn.btn-outline {
  background-color: transparent;
  border: 2px solid #2a5fa5;
  color: #2a5fa5
}
.btn.btn-bmv-blue-outline:not(.close):not(.mfp-close), a.btn.btn-bmv-blue-outline:not([href]):not([tabindex]), button.btn.btn-bmv-blue-outline {
  background-color: transparent !important;
  border-color: #2a5fa5;
  border-width: 2px;
  color: #2a5fa5 !important
}
.product-box {
  margin: 0;
  padding: 50px
}
.product-box .product-contents {
  border-bottom: 5px solid #2a5fa5
}
.product-box .product-description {
  height: 135px
}
.product-box img {
  width: 100%
}
.tabs .nav-tabs .nav-link.active {
  color: #c00;
  background-color: transparent;
  border-bottom: 2px solid #c00
}
#page-title {
  clear: both;
  padding: 150px 0;
  background-color: #fbfbfb;
  position: relative
}
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%
}
.embed-container embed, .embed-container iframe, .embed-container object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.card-img-top {
  width: 100%;
  height: 15vw;
  object-fit: cover
}
.mainMenu-open #header:not(.submenu-light).dark #header-wrap, .mainMenu-open #header:not(.submenu-light).dark .header-inner, .mainMenu-open.dark #header #header-wrap, .mainMenu-open.dark #header .header-inner {
  background-color: #2a5fa5 !important
}
.eeFrontEdit img {
  width: 24px !important;
  height: 24px !important
}
.post-navigation {
  border: 0;
  display: inline-block;
  list-style: none;
  min-height: 84px;
  padding: 10px 0;
  position: relative;
  width: 100%;
  background-color: #fff
}
.bg-overlay {
  background: #122846
}
.search-result-box {
  background-color: #fafafa
}
.search-result-box .search-result-url {
  color: #093
}
#tabs-posts-content a img {
  margin: 10px 0;
  width: 100%
}
.tab-accessori {
  padding: 70px 30px 30px
}
.tab-accessori img {
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out;
  border-radius: 50%;
  border: 3px solid #eee
}
.tab-accessori img:hover {
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out;
  -webkit-box-shadow: 0 0 31px 12px rgba(0, 0, 0, .1);
  box-shadow: 0 0 31px 12px rgba(0, 0, 0, .1);
  border-radius: 50%;
  border: 3px solid #2a5fa5
}
#accessori h4 {
  min-height: 75px;
}
@media (max-width: 991.98px) {
	#topbar ul {
		width: 100%;
		text-align: center;
		display: flex;
		justify-content: center;
	}
	#topbar ul li a {
		margin: 0;
		padding: 0px 5px 0px 5px;
	}
	#topbar .social-icons {
		float: none;
		height: 100%;
		overflow: hidden;
		text-align: center;
		display: flex;
		justify-content: center;
	}
	/*#topbar .social-icons ul {
		display: flex;
		justify-content: center;
		width: 100%;
		text-align: center;
	}*/
  #mainMenu img {
    max-width: 350px
  }
  #mainMenu h3 {
    padding-bottom: 40px
  }
  #mainMenu.dark nav > ul > li .dropdown-menu, .dark:not(.submenu-light) #mainMenu nav > ul > li .dropdown-menu {
    background-color: #2a5fa5;
    border-color: #2a5fa5
  }
  .header-extras {
    margin: 20px 0 0
  }
  #logo .logo-dark img {
    margin: 30px 0 0 !important;
    padding: 0;
    width: auto;
    height: 100px !important
  }
  #mainMenu-trigger {
    margin: 20px 0 0 !important
  }
  .header-menu-img {
    margin: 0 auto;
    max-width: 20% !important
  }
  .dark section, section.dark {
    background-color: #2a5fa5;
    color: #2e2e2e
  }
  #header.dark, #header.dark #header-wrap, #header.dark .header-inner {
    background-color: #2a5fa5
  }
  .inspiro-slider .slide .slide-captions h1 {
    line-height: 70px
  }
	p.banner-fiere {
		text-align: center;
		margin: 8px 0px 8px 0px;
		padding: 0;
	}
	img.banner-fiere {
		margin-top: 50px;
		height: 40px;
	}
  .tabs .nav-tabs li {
    display: block;
    width: 100%
  }
  #lightgallery .image-gallery-item img {
    width: 100%
  }
  .btn.btn-creative.fixed-width {
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: left
  }
}
@media (min-width:992px) {
  #logo .logo-dark img {
    margin: 10px 0 0 !important;
    padding: 0;
    width: auto;
    height: 100px !important
  }
  #header, #header.dark, #header.dark #header-wrap, #header.dark .header-inner, .header-inner {
    background-color: #2a5fa5;
    height: 110px
  }
  .header-extras {
    margin: 20px 0 0
  }
  .category-menu {
    text-align: center
  }
  .header-menu-img {
    max-width: 70%;
		margin: 0 auto;
  }
  .heading-text {
    margin: 0;
    padding: 0
  }
  .dark section, section.dark {
    background-color: #2a5fa5;
    color: #2e2e2e
  }
	.mega-menu-content h4 {
		height: 35px;
	}
	p.banner-fiere {
		text-align: center;
		margin: 8px 0px 8px 0px; padding: 0;
	}
	img.banner-fiere {
		height: 40px;
	}
  #gamma-prodotti .portfolio-image img {
    margin: 0 auto;
    max-width: 150px;
  }
  .card-title-product-files .card-title-product-files {
    height: 80px
  }
  #lightgallery .image-gallery-item img {
    margin: 11.75px 10px;
    width: 22%
  }
  #news .post-item-wrap {
    height: 485px;
  }
  #prodotti .portfolio-description h4 {
    height: 40px;
    overflow: hidden;
    font-weight: 800;
  }
	#prodotti h4 {
    height: 40px;
    overflow: hidden;
    font-weight: 800;
  }
  .btn.btn-creative.fixed-width {
    margin: 0;
    padding: 0;
    width: 250px;
    text-align: left
  }
  .tab-accessori h4 {
    height: 35px
  }
}
#news .portfolio-item h4 a:hover {
  /*color: #03cdf9 !important*/
}

/* 1. La sezione che ospita il video rimane bloccata all'altezza dello schermo */
.fullscreen-custom {
    position: relative;
    width: 100%;
    height: calc(100vh - 80px) !important; /* Sottrae l'altezza dell'header fixed */
    /*margin-top: 80px !important;*/
    overflow: hidden; /* Taglia via tutto ciò che esce dai bordi della sezione */
    background: #000;
}

/* 2. Il contenitore del video si espande oltre i limiti per nascondere le bande */
.video-container-custom {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw; /* Calcolo matematico per il formato 16:9 (9 / 16 * 100) */
    min-height: calc(100vh - 80px);
    min-width: calc((100vh - 80px) * 1.77777778); /* Calcolo inverso (16 / 9) */
    transform: translate(-50%, -50%); /* Centra perfettamente il video eliminando i margini neri */
    z-index: 0;
    pointer-events: none;
}

/* 3. L'iframe riempie il contenitore espanso */
.video-container-custom iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*@media (min-width: 1400px) {
  #slider .container {
    max-width: 1250px !important;
  }
}*/
/* 4. Mantiene i testi sopra al video */
.fullscreen-custom .container-fluid {
    position: relative;
    z-index: 2;
}

/* L'iframe parte completamente invisibile */
.video-container-custom iframe {
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* Dissolvenza fluida */
}

/* Questa classe, inserita successivamente, farà apparire il video */
.video-container-custom iframe.video-pronto {
    opacity: 1;
}
