@charset "UTF-8";

/* CSS Document */
h1, h2, h3, h4, h5 {
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
}

h1 strong, h2 strong, h3 strong, h4 strong {
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
}

.titolo-light {
  font-family: 'Roboto Slab', serif;
  font-weight: 300;
}

.h2 strong, .h3 strong {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
}

p, nav li a, a, .form-control::placeholder, body {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 300;
}

em {
  font-family: 'Roboto Condensed', sans-serif;
}

strong {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 400;
}

*:focus {
  outline: none !important;
  box-shadow: none !important;
  border: 0px solid #999 !important;
}

::-moz-selection {
  background: #e30613;
  color: black;
}

::selection {
  background: #e30613;
  color: black;
}

.color-red {
  color: rgba(227, 6, 19, 1.00) !important;
}

.w-max-content {
  width: max-content;
}

.w-15 {
  width: 15%;
}

/*LG*/
@media (min-width: 992px) {
  .position-lg-absolute {
    position: absolute;
  }

  .position-lg-relative {
    position: relative;
  }
}

/*MD*/
@media (min-width: 768px) {
  .p-md-15 {
    padding: 0.35rem;
  }

  .p-45 {
    padding: 2.5rem;
  }
}

/*XS*/
@media (min-width: 360px) {
  .p-45 {
    padding: 2.5rem;
  }
}

.cc-nb-okagree {
  background-color: #8b090a !important;
  color: #fff !important;
}

.cc-nb-reject {
  background-color: #8b090a !important;
  color: #fff !important;
}

/*-------------------------------------------------------------------------------------------------------------------LINK*/
a {
  position: relative;
  color: #e30613;
  transition: all 0.3s;
}

a:hover {
  text-decoration: none;
  color: inherit;
}

.underline:before {
  content: "";
  background-color: rgba(227, 6, 19, .30);
  height: 0.5rem;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5%;
  z-index: -1;
}

.show-left:before {
  -webkit-transform-origin: left bottom;
  -moz-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
  -o-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 400ms cubic-bezier(1, 0, 0, 1) 0ms;
  -moz-transition: -moz-transform 400ms cubic-bezier(1, 0, 0, 1) 0ms;
  transition: transform 400ms cubic-bezier(1, 0, 0, 1) 0ms;
}

.show-left:hover:before {
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  transform: scaleX(1);
}

/*-------------------------------------------------------------------------------------------------------------------HAMBURGER MENU*/
.icon-bar {
  width: 22px;
  height: 2px;
  background-color: #B6B6B6;
  display: block;
  transition: all 0.2s;
  margin-top: 4px
}

.navbar-toggler {
  border: none;
  background: transparent !important;
}

.navbar-toggler .top-bar {
  transform: rotate(45deg);
  transform-origin: 10% 10%;
}

.navbar-toggler .middle-bar {
  opacity: 0;
}

.navbar-toggler .bottom-bar {
  transform: rotate(-45deg);
  transform-origin: 10% 90%;
}

.navbar-toggler.collapsed .top-bar {
  transform: rotate(0);
}

.navbar-toggler.collapsed .middle-bar {
  opacity: 1;
}

.navbar-toggler.collapsed .bottom-bar {
  transform: rotate(0);
}

/*-------------------------------------------------------------------------------------------------------------------MENU*/
.w-80 {
  width: 80%;
}

.navbar-nav {
  padding-left: 10px;
}

li.active a, li a:hover {
  color: rgba(227, 6, 19, 1.00) !important;
}

li.active a.dropdown-item {
  color: #000 !important;
}

.dropdown-item.active, .dropdown-item:active {
  background-color: rgba(206, 206, 206, 0.3);
}

@media all and (min-width: 1000px) {

  /* ============ only desktop view ============ */
  .navbar .nav-item .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    margin-top: 0;
    border-radius: 0;
  }

  .navbar .dropdown-menu.fade-down {
    top: 80%;
    transform: rotateX(-75deg);
    transform-origin: 0% 0%;
  }

  .navbar .dropdown-menu.fade-up {
    top: 180%;
  }

  .navbar .nav-item:hover .dropdown-menu {
    transition: .3s;
    opacity: 1;
    visibility: visible;
    top: 100%;
    transform: rotateX(0deg);
  }

  .w-80 {
    width: auto;
  }

  .border li.active a {
    font-weight: 700;
  }

  .navbar-nav {
    padding-left: 0;
  }

  #menu li a {
    text-decoration: none;
    position: relative;
    /*color: #313131;
  font-size: 50px;
  font-weight: 700;
  font-family: sans-serif;*/
    display: block;
    overflow: hidden;
    transition: 0.7s all;
    /*padding: 14px 30px;*/
    text-transform: uppercase;
    white-space: nowrap;
  }

  #menu li a:before {
    content: '';
    width: 40px;
    position: absolute;
    border-bottom: 2px solid rgba(227, 6, 19, 1.00);
    bottom: 0;
    right: 300px;
    transition: 0.5s all;
  }

  #menu li a:hover:before {
    right: 0;
  }
}

/*-------------------------------------------------------------------------------------------------------------------BREADCRUMB*/
.breadcrumb {
  background: transparent;
  display: inline-flex;
  margin-bottom: 0;
}

/*-------------------------------------------------------------------------------------------------------------------BACKGROUND*/
.bg-dark {
  background-color: #181818 !important;
}

.bg-white {
  background-color: #fff;
}

.bg-box-lavorazioni {
  background-image: url("../images/lavorazioni-meccaniche.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-fresatura {
  background-image: url("../images/lavorazioni-meccaniche/lavorazioni-meccaniche_01.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-ossitaglio {
  background-image: url("../images/ossitaglio.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

.w-max {
  max-width: 38vh;
}

/*-------------------------------------------------------------------------------------------------------------------BORDER*/
.outline {
  outline: 1px solid rgba(255, 255, 255, 0.3);
  outline-offset: 55px;
  margin-right: 25px;
  margin-bottom: 25px;
}

.border-danger {
  border-color: #e30613 !important;
}

.border-top {
  border-top-width: 7px !important;
}

.border-left {
  border-left-width: 7px !important;
}

.border-light {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

/*-------------------------------------------------------------------------------------------------------------------CAROUSEL*/
/*SM*/
@media (min-width: 360px) {
  .carousel-caption {
    text-align: left;
    right: 30%;
    bottom: 0;
    left: 6%;
  }

  .carousel-caption h1 {
    font-size: 2rem;
  }
}

/*MD*/
@media (min-width: 768px) {
  .carousel-caption {
    text-align: left;
    right: 40%;
    bottom: 15%;
    left: 6%;
  }

  .carousel-caption h1 {
    font-size: 2.5rem;
  }
}

/*LG*/
@media (min-width: 1200px) {
  .carousel-caption {
    text-align: left;
    right: 60%;
    bottom: 15%;
    left: 6%;
  }

  .carousel-caption h1 {
    font-size: 3rem;
  }
}

.carousel-control-prev, .carousel-control-next {
  width: 8%;
}

.carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.3);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.ug-gallery-wrapper .ug-bullets {
  top: 180px !important;
}

/*-------------------------------------------------------------------------------------------------------------------BUTTON*/
.btn-danger {
  border-radius: 50px;
  background-color: #e30613;
  padding: 10px 30px;
  border: 2px solid #e30613;
}

.btn-danger:hover, .btn-danger:active {
  background-color: #bd191b !important;
}

a.white-outline {
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 30px;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  display: inline-block;
  margin: 8px 0;
  text-transform: uppercase;
  line-height: 1.5em;
  font-weight: 400;
  font-size: 1em;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a.white-outline:hover {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.50);
  border-radius: 0px;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  display: inline-block;
  margin: 8px 0;
  text-transform: uppercase;
  line-height: 1.5em;
  font-weight: 400;
  font-size: 1em;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

/*SM*/
@media (min-width: 360px) and (max-width: 576px) {
  a.btn-red-outline {
    background-color: transparent;
    border: 2px solid #e30613;
    border-radius: 50px;
    color: #e30613;
    cursor: pointer;
    padding: 5px 25px;
    display: inline-block;
    margin: 0px 0 4px;
    text-transform: uppercase;
    line-height: 1.5em;
    font-weight: 400;
    font-size: 1em;
    outline: none;
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }

  a.white-outline, a.white-outline:hover {
    padding: 0;
  }

  a.white-outline h5 {
    font-size: 1em;
  }
}

@media (min-width: 577px) {
  a.btn-red-outline {
    background-color: transparent;
    border: 2px solid #e30613;
    border-radius: 50px;
    color: #e30613;
    cursor: pointer;
    padding: 10px 30px;
    display: inline-block;
    margin: 30px 0;
    text-transform: uppercase;
    line-height: 1.5em;
    font-weight: 400;
    font-size: 1em;
    outline: none;
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

a.btn-red-outline p {
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.8;
}

a.btn-red-outline svg {
  font-size: 20px;
  right: 18px;
  position: absolute;
  opacity: 0;
  padding-top: 0.25rem;
  margin-left: 10px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a.btn-red-outline:hover p,
a.btn-red-outline.hover p {
  -webkit-transform: translate3d(-12px, 0px, 0px);
  transform: translate3d(-12px, 0px, 0px);
  opacity: 1;
}

a.btn-red-outline:hover svg,
a.btn-red-outline.hover svg {
  opacity: 0.8;
  padding-top: 0.25rem;
  margin-left: 10px;
}

a.btn-red-outline:active p {
  -webkit-transform: translate3d(-14px, 0px, 0px);
  transform: translate3d(-14px, 0px, 0px);
}

a.btn-red-outline:active svg {
  right: 15px;
}

/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}

.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Wobble Horizontal */
@-webkit-keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}

.hvr-wobble-horizontal:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:active {
  -webkit-animation-name: hvr-wobble-horizontal;
  animation-name: hvr-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

a:link {
  text-decoration: none
}

.vn-red a {
  background-color: #e30613;
  display: inline-block;
  position: relative;
  margin: 10px 0px 30px;
  padding: 20px 20px 20px 80px;
  color: #fff;
  transition: all 0.4s ease
}

.vn-red a svg {
  position: absolute;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  font-size: auto;
  border-radius: 0 20px 0 0;
  color: #000;
  background-color: #fff;
  opacity: 0.3;
  padding: 14px;
  height: 100%;
  width: 30% !important;
  top: 0;
  left: 0
}

.vn-red a:hover {
  background: #999
}

/*-------------------------------------------------------------------------------------------------------------------SOCIAL BUTTON*/
.social-icons {
  padding: 0;
  list-style: none;
  /*margin: 1em;*/
}

.social-icons li {
  display: inline-block;
  margin: 0.15em;
  position: relative;
  font-size: 1em;
}

.social-icons svg {
  color: #fff;
  position: absolute;
  top: 11px;
  left: 13px;
  transition: all 265ms ease-out;
}

.social-icons .svg-inline--fa.fa-w-10 {
  width: .875em !important;
}

.social-icons a {
  display: flex;
  align-items: center;
}

.social-icons a:before {
  transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  content: " ";
  width: 40px;
  height: 40px;
  border-radius: 100%;
  display: block;
  background: linear-gradient(45deg, #df1520, #8b090a);
  transition: all 265ms ease-out;
}

.social-icons a:hover:before {
  transform: scale(0);
  transition: all 265ms ease-in;
}

.social-icons a:hover svg {
  transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  color: #df1520;
  background: -webkit-linear-gradient(45deg, #df1520, #8b090a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 265ms ease-in;
  font-size: 1.3em;
}

/*-------------------------------------------------------------------------------------------------------------------FORM*/
.input-group>.form-control:not(:first-child), .input-group>.custom-select:not(:first-child),
.input-group>.input-group-prepend>.btn, .input-group>.input-group-prepend>.input-group-text,
.input-group>.input-group-append:not(:last-child)>.btn,
.input-group>.input-group-append:not(:last-child)>.input-group-text,
.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),
.input-group>.input-group-append:last-child>.input-group-text:not(:last-child), .form-control {
  border-radius: 0;
}

input:-internal-autofill-selected {
  background-color: #fff !important;
}

/*-------------------------------------------------------------------------------------------------------------------PARALLAX*/
.parallax {
  width: 100%;
  position: relative;
  padding: 50px 0;
  text-align: center;
  -webkit-box-shadow: inset 1px 7px 16px -2px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: inset 1px 7px 16px -2px rgba(50, 50, 50, 0.5);
  box-shadow: inset 1px 7px 16px -2px rgba(50, 50, 50, 0.5);
}

#parallax1 {
  background-image: url('../images/parallax-01.jpg');
  background-color: #fff;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
}

#parallax2 {
  background-image: url('../images/parallax-02.jpg');
  background-color: #fff;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  padding: 100px 0;
}

#parallax3 {
  background-image: url('../images/parallax-03.jpg');
  background-color: #fff;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  padding: 100px 0;
}

/*-------------------------------------------------------------------------------------------------------------------ANIMAZIONI*/
.kenburns-top {
  -webkit-animation: kenburns-top 5s ease-out both;
  animation: kenburns-top 5s ease-out both;
}

@-webkit-keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }

  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@keyframes kenburns-top {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 16%;
    transform-origin: 50% 16%;
  }

  100% {
    -webkit-transform: scale(1.25) translateY(-15px);
    transform: scale(1.25) translateY(-15px);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

/*-------------------------------------------------------------------------------------------------------------------BG VIDEO*/
.card-c {
  outline: 1px solid rgba(255, 255, 255, 0.3);
  outline-offset: 10px;
  margin-right: 25px;
  margin-bottom: 25px;
}

section.video {
  position: relative;
  background-color: black;
  height: 55vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}

section.video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

section.video .container {
  position: relative;
  z-index: 2;
}

section.video .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.40);
  opacity: 1;
  z-index: 1;
}

@media (pointer: coarse) and (hover: none) {
  section.video {
    background: url('../images/video/P1041881.mp4') black no-repeat center center scroll;
  }

  section.video video {
    display: none;
  }
}

@media (max-width: 768px) {
  section.video {
    height: 65vh;
  }

  .card-c {
    outline: 1px solid rgba(255, 255, 255, 0.3);
    outline-offset: 2px;
    margin-right: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 360px) {
  section.video {
    height: 165vh;
  }
}

.margin-top-relative{
  position: relative;
  top: 250px;
}