@import url('https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:ital,wght@0,300;0,700;1,300&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');

html, body {
	width: 100%;
	height: 100%;
}

body {
	font-family: 'Open Sans Condensed', sans-serif;
	color: #333;
	overflow-x:hidden; 
}


body.no-overflow {
	overflow-y: hidden;
}

/* dimensioni font */

.under {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: #fff;
	z-index: 999999999999;
}

.display-1 {
	font-size: 4rem;
}


h1.big {
	font-size: 4rem;
}


@media (min-width: 768px) {
	.display-1 {
		font-size: 6rem;
	}


	h1.big {
		font-size: 5.5rem;
	}

}

.font-weight-bolder {
    font-weight: 800 !important;
}

.lead {
    font-size: 1.5rem;
    font-weight: 300;
}

/* loading */

.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #fff;
	top: 0px;
	left: 0px;
	z-index: 999999999;
	overflow: hidden;
}

.loading img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
	max-width: 100%;
}

.loading .loadbar {
	position: absolute;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 0px;
	height: 2px;
	background-color: #aaa;
	z-index: 5;
}

.loading .loadbar_bg {
	position: absolute;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 2px;
	background-color: #efefef;
	z-index: 2;
}

.loading .load_txt {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 300px;
	opacity: .05;
	color: #000;
	z-index: 0;
}

/* fonts */

h1, h2, h3, h5 {
	font-family: 'Anton', sans-serif;
	text-transform: uppercase;
	font-weight: 400;
	word-wrap: break-word;
}

h4 {
	font-family: 'Anton', sans-serif;
	font-weight: 200;
	letter-spacing: 1px;

}

h5 span {
	text-transform: none;
}

p {
	font-weight: 300;
}

p.intro {
	font-size: 1.2rem;
	line-height: 1.8rem;
}

a {
	color: #222;
}

.px-10-p {
	padding-right: 10%;
	padding-left: 10%;
}

.bg-danger {
	background-color: #ff0000 !important;
}

.bg-primary {
	background-color: #009fe3 !important;
}

.bg-darkblue {
	background-color: #13212e;
	color: #fff;
}

.bg-darkred {
	background-color: #971b1b;
	color: #fff;
}


.img-category {
	max-height: 65vh;
}

.top-bar, header {
	border-bottom: 1px solid #000;
}

.top-bar {
	background-color: #000;
}


header {
	background-color: #000;
	background-image: url(/img/fibra.jpg);
}

.navbar {
	padding: 0rem 1rem;
}


.navbar-light .navbar-nav .nav-link {
    color: rgba(255,255,255,1);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Anton', sans-serif;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: rgba(255,255,255,.8);
} 

.navbar-light .navbar-nav .show>.nav-link {
    color: rgba(255,255,255,.9);
}

.nav-social {
	border-left: 1px solid rgba(0,0,0,.5);
}

.nav-social li:last-child {
	border-right: 1px solid rgba(0,0,0,.5);
}

.nav-lang {
	border-right: 1px solid #efefef;
}

.nav-lang li:first-child {
	border-left: 1px solid #efefef;
}

.nav-lang li a img {
	max-height: 14px;
}

.top-bar a {
	color: #ccc;
}

.swiper-home {
	/*
	background-image: url(img/sfondo_swiper.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	*/
	background-color: #184368;
	max-height: 1280px;
}

.swiper-home .swiper-slide {
	width: 100%;
	height: 100%;
	overflow: hidden;
}


.swiper-home .btn {
    color: #fff;
    box-shadow: 5px 5px rgba(0,0,0,.8);
}

/* controller */

[class*="controller"] {
	display: none;
}
@media (min-width: 768px) {
	[class*="controller"] {
	    display: block;
	    position: absolute;
	    top: 50%;
	    transform: translateY(-50%);
	    font-size: 15px;
	    z-index: 999999;
	    background-color: rgba(0,0,0,.8);
	    padding: 15px 15px 15px 15px;
	    cursor: pointer;
	    cursor: hand;
	    border:0;
	    z-index: 15;
	}

	[class*="controller"] i {
	    color: #fff;
	}

	.controller-sx {
	    left: 0px;
	}

	.controller-dx {
	    right: 0px;
	}

}





.swiper-news .swiper-slide {
	height: auto;
}

.swiper-prodotto-full, .container-swiper {
		background-image: -webkit-linear-gradient(top,#fff 0%,#ddd 100%);
	background-image: -o-linear-gradient(top,#fff 0%,#ddd 100%);
	background-image: linear-gradient(to top,#fff 0%,#ddd 100%);
}

.swiper-prodotto-full h1, .container-swiper h1.bg-title {
	position: absolute;
	transform: translate(-50%,-50%);
	left: 50%;
	top: 50%;
	font-size: 10vw;
	opacity: .5;
	font-weight: 300;
	color: #ccc;
	z-index: 0;
}

.swiper-prodotto-full .row, .container-swiper .row {
	position: relative;
	z-index: 15;

}


.swiper-prodotto .swiper-slide {
	display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
}

.swiper-pagination-bullets {
	bottom: 0px !important;
	position: relative;
}


.swiper-pagination-bullet {
    width: 16px;
    height: 3px;
    border: 0;
    opacity: 1;
    border-radius: 0px;
    background:#222;
    -webkit-transition: all .5s;
  transition: all .5s;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    width: 32px;
    background: red;
}


.border-top-small {
	position: relative;
}

.border-top-small:before {
	position: absolute;
	height: 1px;
	background-color: #efefef;
	width: 500px;
	left: 50%;
	top: 0px;
	transform: translateX(-50%);
	content: "";
}

.card-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.card {
	height: 100%;
	flex: 1;
	border-radius: 0px;
	border: 0;
	position: relative;
	z-index: 9;
}

.card .card-link {
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translate(-50%,50%);
	background-color: #000;
	border-radius: 100%;
	padding: 10px 15px;
	color: #fff;

}

.card-img-container {
	position: relative;
	padding-top: 50%;
	overflow: hidden;
	background-image: -webkit-linear-gradient(bottom,#fff 0%,#dbdcdd 100%);
	background-image: -o-linear-gradient(bottom,#fff 0%,#dbdcdd 100%);
	background-image: linear-gradient(to bottom,#fff 0%,#dbdcdd 100%);
}

.card-img-container img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%) scale(1);
	width: auto;
	height: 100%;
}

.card-img-top {
}

.card-prodotto {
	overflow: hidden;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 90% auto;

}

.card-prodotto .btn, .card-prodotto h3 {
	z-index: 25;
}

.card-prodotto .card-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,.8);
	left: 0px;
	top:100%;
	z-index: 20;
		 -webkit-transition: all 1s;
  transition: all 1s;
} 

.card-prodotto.active .card-overlay {
	top:0;

}

.card-prodotto .btn-primary {
    background: #184368;
    color: #fff;
    box-shadow: 5px 5px rgba(0,0,0,.8);
}

.breadcrumb {
	background-color: transparent;
}

.breadcrumb a {

	color: #fff;
	text-transform: uppercase;
}

.nav-prodotto {
	position: relative;
}

.nav-prodotto:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #efefef;
	transform: translate(-50%,-50%);
	left: 50%;
	top: 50%;
}

/*

.nav-prodotto a {
	border-radius: 25px;
	padding: 20px;
	margin-left: 0px;
	margin-right: 0px;
	font-size: 24px;
	text-align: center;
	cursor: pointer;
	position: relative;
	text-align: center;
	touch-action: manipulation;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
	background-color: #fff;
	color: #595d61;
}

*/

.nav-prodotto li {
	margin-right: 5px;
	margin-left: 5px;
}

.nav-prodotto li a {
	border-radius: 25px;
	padding: 14px 28px;
	margin-left: 0px;
	margin-right: 0px;
	font-size: 20px;
	text-align: center;
	cursor: pointer;
	position: relative;
	text-align: center;
	touch-action: manipulation;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
	background-color: #222;
	color: #fff;
	text-transform: uppercase;
}

.nav-optional {
	border-top: 1px solid #222;
}

.col-optional {
	cursor: pointer;
	cursor: hand;
}

.container-fluid.alternate-bg {
	background-color: #ddd;
}

.container-fluid.alternate-bg:nth-child(odd) {
  background: #fff;
}

.btn {
	border-radius: 0;
}

.btn-primary {
	background-color: #000;
	border: 0px;
}

.row-alternate:nth-child(odd) {
	background-color: #184368;
	color: #fff;
}

.row-alternate {
  background: #fff;
  color: #184368;
}

.row-alternate .btn-primary {
  background: #184368;
  color: #fff;
  box-shadow: 5px 5px rgba(0,0,0,.8);
}


.row-alternate:nth-child(odd) .btn-primary {
	background-color: #fff;
	color: #184368;
}


figure {
	position: relative;
	overflow: hidden;
	padding-top: 60%;
	margin-bottom: 30px;
	border-bottom: 1px solid #efefef;
}

figure img {
	height: 100%;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.linea .card-col {
	position: relative;
}

.linea .card-col::before {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	width: 2px;
	height: 100%;
	z-index: 0;
}

.linea .card-col::after {
	position: absolute;
	top: 50%;
	right: -13px;
	transform: translateY(-50%);
	content: "";
	width: 50%;
	height: 2px;
}

.linea.full .card-col::after {
	top: 50%;
	left: 50%;
	right: unset;
	transform: translate(-50%,-50%);
	width: calc(100% + 30px);
}

.linea.sx .card-col::before {
	left: -15px;
}

.linea.dx .card-col::before {
	left: unset;
	right: -15px;
}

.linea.full:before {
	height: 100%;
	position: absolute;
}

.linea.full::after {
	content: "";
	position: absolute;
	top: 0;
	right: 16px;
	width: 2px;
	height: 100%;
	z-index: 0;
}


.linea.rossa.full::after {
	background-color: #971b1b;
}


.linea.blu.full::after {
	background-color: #13212e;
}

.linea.full .card-col::before {
	height: 100%;
}

.linea .card-col:last-child:before {
	height: 50%;
}

.linea.rossa .card-col::before, .linea.rossa .card-col::after {
	background-color: #971b1b;
}

.linea.rossa .card  {
	border: 2px solid #971b1b;
}

.linea.blu .card-col::before, .linea.blu .card-col::after {
	background-color: #13212e;
}

.linea.blu .card  {
	border: 2px solid #13212e;
}

.linea .card-col .card {
	z-index: 10;
}

.linea.full .row .card-col:first-child .card:before {
	background-color: #fff;
	position: absolute;
	top: -1.15rem;
	right: -45px;
	transform: translateX(-50%);
	width: 20px;
	height: calc(50% + 1.05rem);
	content: "";
	z-index: 10;
}


.border-top-blu {
	border-top: 2px solid #13212e;
}

.border-top-blu .linea {
	position: relative;
}

.border-top-blu .linea::before {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0px;
	width: 2px;
	height: 50%;
	content: "";
	background-color: #13212e;
	
}

footer {
	width: 100%;
	background-image: -webkit-linear-gradient(left,#000 0%,#222 100%);
	background-image: -o-linear-gradient(left,#000 0%,#222 100%);
	background-image: linear-gradient(to right,#000 0%,#222 100%);
	background-repeat: repeat-x;
	border-top: 40px solid #222;
}

footer .container-fluid {
	color: #595d61;
	font-size: 12px;
}

footer i {
	font-size: 24px;
	margin-left: 24px;
	opacity: .7;
}

footer .container-fluid {
	background-image: url(img/logo_foot.png);
	background-position: left bottom;
	background-repeat: no-repeat;
}

footer p {
	margin-bottom: 0px;
	color: #fff;
}

footer .nav-link {
    display: block;
    padding: .5rem 1rem .5rem 0rem;
    color: #ccc;

}

footer a {
    color: #fff;
}


@media (min-width: 576px) {



}

@media (min-width: 768px) {

.dropdown-menu {
	transform: translateX(-50%);
	left: 50%;
	padding: 0rem 0;
    margin: 0rem 0 0;
    min-width: unset;
}

.dropdown-menu.show .dropdown-item {
	text-align: center;
	text-transform: uppercase;
	padding: .25rem 1rem;
	color: rgba(0,0,0,.5);
	border-bottom: 1px solid rgba(0,0,0,.12);
}

.dropdown-menu.show .dropdown-item:last-child {
	border-bottom: 0;
}

.dropdown-menu.show .dropdown-item:hover {
	color: rgba(0,0,0,.8);
}

}

@media (min-width: 992px) {
}


@media (min-width: 1024px) {

.h-md-75 {
	height: 75%;
}	

.swiper-home .container-fluid .col-abs {
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
}



}

@media (min-width: 1300px) {
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1200px;
}

}

@media (min-width: 1600px) {
.container {
	min-width: 1400px;
}

}

table {
	min-width: 1100px;
}

.table-responsive {
	max-width: 1400px;
	margin: 0px auto;
}

.table-col table {
	min-width: 100%;
}

table.auto {
	min-width: 100%;
}


.table-striped thead tr:nth-of-type(odd) {
	text-transform: uppercase;
}


.table-striped tbody tr {
    background-color: rgba(255,255,255,.2);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0,0,0,.1);
}

iframe {
	float: right;
 }

.form-control {
	border: 0;
	border-bottom: 1px solid #000;
	border-radius: 0;
    
}

.form-check-label {
	color: #222;
}