/* body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
 */
.places .gm-style div[role=dialog] {
  min-width: 250px !important;
  max-width: 400px !important; }
  .places .gm-style div[role=dialog] img {
    padding-right: 5px; }
  .places .gm-style div[role=dialog] > div {
    position: relative; }
  .places .gm-style div[role=dialog] h5 {
    width: calc(100% - 40px); }
  .places .gm-style div[role=dialog] span.altri-mercati-serviti {
    padding-bottom: 5px;
    display: block; }
    .places .gm-style div[role=dialog] span.altri-mercati-serviti + br {
      display: none; }
  .places .gm-style div[role=dialog] .display-flex-dialog {
    display: flex; }

.contacts_map .gm-style div[role=dialog] {
  min-width: 250px !important;
  max-width: 400px !important; }

.mainMarketFlag {
  position: absolute;
  top: 5px;
  right: 5px; }

.google_map .mainMarketFlag {
  position: static; }

.google_map .gm-style div[role=dialog] {
  max-width: 250px !important; }

.google_map .display-flex-dialog {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .google_map .display-flex-dialog h5 {
    margin: 0 5px 0 0; }

.intro.intro-news {
  position: relative; }
  .intro.intro-news .intro-image {
    max-height: 490px;
    object-fit: cover;
    object-position: top; }
  .intro.intro-news .intro-block {
    top: 50% !important;
    max-width: 60% !important;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important; }
    @media only screen and (max-width: 920px) {
      .intro.intro-news .intro-block {
        position: relative;
        left: 0;
        top: 0 !important;
        transform: none;
        max-width: 100% !important; } }

/* .footer {
  margin-top: auto;
}

 */
section.contact-form.all_new_contatti {
  background: #f0f0f0 !important;
  clear: both; }
  section.contact-form.all_new_contatti h5 {
    color: #4c4c4c;
    margin-top: 50px;
    text-align: center; }
  section.contact-form.all_new_contatti form {
    padding: 0 0 50px; }
    section.contact-form.all_new_contatti form .form-control {
      -webkit-box-shadow: none !important;
      box-shadow: none !important;
      border-bottom: 1px solid #4c4c4c !important;
      border-top: 1px solid transparent !important;
      border-left: 1px solid transparent !important;
      border-right: 1px solid transparent !important;
      color: #4c4c4c;
      max-height: 100px;
      background-color: transparent; }
      section.contact-form.all_new_contatti form .form-control.parsley-error, section.contact-form.all_new_contatti form .form-control.parsley-error::placeholder {
        color: #cd1232;
        background-color: transparent !important; }
    section.contact-form.all_new_contatti form .btn-default {
      background-color: #cd1232;
      border-color: #cd1232;
      opacity: 0.8;
      transition: all 1s; }
      section.contact-form.all_new_contatti form .btn-default:hover {
        background-color: #b3172e;
        border-color: #b3172e;
        transition: all 1s;
        opacity: 1; }
    section.contact-form.all_new_contatti form .control-group {
      padding-top: 20px; }
    section.contact-form.all_new_contatti form input, section.contact-form.all_new_contatti form textarea {
      padding: 6px 0px;
      transition: all .3s ease-in-out;
      /* transition: visibility 0s; */ }
    section.contact-form.all_new_contatti form input::placeholder, section.contact-form.all_new_contatti form textarea::placeholder {
      position: relative;
      color: #4c4c4c;
      text-transform: uppercase;
      font-size: 13px;
      transition: all .3s ease-in-out;
      /* transition: visibility 0s; */
      top: 0px;
      left: 0px; }
    section.contact-form.all_new_contatti form span.checker {
      background: #333d47 none repeat scroll 0 0; }
    section.contact-form.all_new_contatti form span.checker.checked:before {
      color: #fff; }
    section.contact-form.all_new_contatti form label {
      color: #4c4c4c; }
    section.contact-form.all_new_contatti form .control-label {
      color: #4c4c4c;
      opacity: 0;
      display: block;
      transition: all .3s ease-in-out;
      /* transition: visibility 0s; */
      margin: 0px; }
    section.contact-form.all_new_contatti form .has-text input, section.contact-form.all_new_contatti form .has-text textarea {
      padding: 6px 12px; }
    section.contact-form.all_new_contatti form .has-text .control-label {
      opacity: 1; }
    section.contact-form.all_new_contatti form .has-focus input, section.contact-form.all_new_contatti form .has-focus textarea {
      padding: 6px 12px; }
    section.contact-form.all_new_contatti form .has-focus input::placeholder, section.contact-form.all_new_contatti form .has-focus textarea::placeholder {
      color: transparent !important;
      top: -30px;
      font-size: 11px;
      left: -12px; }
    section.contact-form.all_new_contatti form .has-focus .control-label {
      opacity: 1;
      margin-top: 0px; }
    section.contact-form.all_new_contatti form .privacyLink {
      display: inline-block;
      float: none;
      margin-left: 0px; }
    section.contact-form.all_new_contatti form .grecaptcha-badge {
      height: 57px !important;
      bottom: -22px !important;
      left: 0px; }

.section section.google_map.newformat {
  float: left;
  width: 100%;
  position: relative;
  z-index: 18;
  height: 100% !important;
  max-height: 100%; }
  .section section.google_map.newformat .contacts_map {
    height: 500px;
    width: 100%; }
    @media (max-width: 767px) {
      .section section.google_map.newformat .contacts_map {
        height: 380px;
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    .section section.google_map.newformat > .container {
      padding: 0; } }
  .section section.google_map.newformat .banner-contattaci {
    /* 
    background: none repeat scroll 0 0 rgb(33, 85, 150); */
    margin-top: 0;
    max-width: 30%;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    min-width: 460px; }
    .section section.google_map.newformat .banner-contattaci__box__top {
      padding: 45px; }
      .section section.google_map.newformat .banner-contattaci__box__top h3 {
        text-transform: none;
        font-family: "ProximaNova-Bold";
        text-align: left; }
      .section section.google_map.newformat .banner-contattaci__box__top__riga {
        display: flex;
        padding-top: 32px;
        align-items: center; }
        .section section.google_map.newformat .banner-contattaci__box__top__riga .fa {
          color: #fff;
          font-size: 40px;
          padding-right: 20px;
          width: 60px;
          display: block;
          line-height: 39px;
          max-height: 35px;
          text-align: center; }
          .section section.google_map.newformat .banner-contattaci__box__top__riga .fa.fa-mobile {
            font-size: 48px; }
        .section section.google_map.newformat .banner-contattaci__box__top__riga span {
          color: #fff;
          line-height: 18px;
          font-size: 16px; }
    .section section.google_map.newformat .banner-contattaci__box__worldwide {
      /* background: none repeat scroll 0 0 rgba(20, 54, 91, 0.9); */
      position: absolute;
      bottom: 0px;
      width: 100%; }
      .section section.google_map.newformat .banner-contattaci__box__worldwide__riga {
        padding: 45px;
        padding-right: 140px; }
        .section section.google_map.newformat .banner-contattaci__box__worldwide__riga h4 {
          color: #fff;
          font-family: "ProximaNova-Bold";
          font-size: 20px; }
        .section section.google_map.newformat .banner-contattaci__box__worldwide__riga::after {
          content: "\f105";
          font-family: "FontAwesome";
          display: block;
          font-size: 108px;
          position: absolute;
          /* color: rgb(142,63,255);
            background: linear-gradient(180deg, rgba(142,63,255,1) 20%, rgba(69,119,255,1) 44%, rgba(0,241,240,1) 65%); */
          right: 45px;
          top: 0; }
          @media only screen and (max-width: 767px) {
            .section section.google_map.newformat .banner-contattaci__box__worldwide__riga::after {
              font-size: 93px; } }
      @media only screen and (max-width: 767px) {
        .section section.google_map.newformat .banner-contattaci__box__worldwide {
          position: relative; } }
    @media only screen and (max-width: 767px) {
      .section section.google_map.newformat .banner-contattaci {
        position: relative;
        width: 100%;
        max-width: 100%; } }

body.hidden-scroll {
  overflow: hidden; }

.sl-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000;
  display: none;
  z-index: 1035; }

.sl-wrapper {
  z-index: 1040;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: fixed; }
  .sl-wrapper * {
    box-sizing: border-box; }
  .sl-wrapper button {
    border: 0 none;
    background: transparent;
    font-size: 28px;
    padding: 0;
    cursor: pointer; }
    .sl-wrapper button:hover {
      opacity: 0.7; }
  .sl-wrapper .sl-close {
    display: none;
    position: fixed;
    right: 30px;
    top: 30px;
    z-index: 10060;
    margin-top: -14px;
    margin-right: -14px;
    height: 44px;
    width: 44px;
    line-height: 44px;
    font-family: Arial, Baskerville, monospace;
    color: #fff;
    font-size: 3rem; }
  .sl-wrapper .sl-counter {
    display: none;
    position: fixed;
    top: 30px;
    left: 30px;
    z-index: 1060;
    color: #fff;
    font-size: 1.5rem; }
  .sl-wrapper .sl-navigation {
    width: 100%;
    display: none; }
    .sl-wrapper .sl-navigation button {
      position: fixed;
      top: 50%;
      margin-top: -22px;
      height: 44px;
      width: 22px;
      line-height: 44px;
      text-align: center;
      display: block;
      z-index: 10060;
      font-family: Arial, Baskerville, monospace;
      color: #fff; }
      .sl-wrapper .sl-navigation button.sl-next {
        right: 5px;
        font-size: 2rem; }
      .sl-wrapper .sl-navigation button.sl-prev {
        left: 5px;
        font-size: 2rem; }
      @media (min-width: 35.5em) {
        .sl-wrapper .sl-navigation button {
          width: 44px; }
          .sl-wrapper .sl-navigation button.sl-next {
            right: 10px;
            font-size: 3rem; }
          .sl-wrapper .sl-navigation button.sl-prev {
            left: 10px;
            font-size: 3rem; } }
      @media (min-width: 50em) {
        .sl-wrapper .sl-navigation button {
          width: 44px; }
          .sl-wrapper .sl-navigation button.sl-next {
            right: 20px;
            font-size: 5rem; }
          .sl-wrapper .sl-navigation button.sl-prev {
            left: 20px;
            font-size: 5rem; } }
  .sl-wrapper.sl-dir-rtl .sl-navigation {
    direction: ltr; }
  .sl-wrapper.wrapInterfaces .sl-image img {
    border-bottom: 0; }
    @media (min-width: 35.5em) {
      .sl-wrapper.wrapInterfaces .sl-image img {
        border-bottom: 0; } }
    @media (min-width: 50em) {
      .sl-wrapper.wrapInterfaces .sl-image img {
        border-bottom: 0; } }
  .sl-wrapper.wrapInterfaces .sl-caption {
    border-top: 0 !important; }
    @media (min-width: 35.5em) {
      .sl-wrapper.wrapInterfaces .sl-caption {
        border-top: 0; } }
    @media (min-width: 50em) {
      .sl-wrapper.wrapInterfaces .sl-caption {
        border-top: 0; } }
  .sl-wrapper .sl-image {
    position: fixed;
    -ms-touch-action: none;
    touch-action: none;
    z-index: 10000; }
    .sl-wrapper .sl-image img {
      margin: 0;
      padding: 0;
      display: block;
      border: solid 0.5rem #fff;
      width: 100%;
      height: auto; }
      @media (min-width: 35.5em) {
        .sl-wrapper .sl-image img {
          border: solid 0.8rem #fff; } }
      @media (min-width: 50em) {
        .sl-wrapper .sl-image img {
          border: solid 1rem #fff; } }
    .sl-wrapper .sl-image iframe {
      background: #000;
      border: 0 none; }
      @media (min-width: 35.5em) {
        .sl-wrapper .sl-image iframe {
          border: 0 none; } }
      @media (min-width: 50em) {
        .sl-wrapper .sl-image iframe {
          border: 0 none; } }
    .sl-wrapper .sl-image .sl-caption {
      display: none;
      padding: 10px;
      color: #fff;
      background: rgba(32, 86, 152, 0.8);
      font-size: 1.5rem;
      bottom: 0.5rem;
      left: 0;
      right: 0;
      border: solid 0.5rem #fff;
      text-align: center; }
      @media (min-width: 35.5em) {
        .sl-wrapper .sl-image .sl-caption {
          border: solid 0.8rem #fff; } }
      @media (min-width: 50em) {
        .sl-wrapper .sl-image .sl-caption {
          border: solid 1rem #fff; } }
      .sl-wrapper .sl-image .sl-caption.pos-top {
        bottom: auto;
        top: 0; }
      .sl-wrapper .sl-image .sl-caption.pos-outside {
        bottom: auto; }
    .sl-wrapper .sl-image .sl-download {
      display: none;
      position: absolute;
      bottom: 5px;
      right: 5px;
      color: #fff;
      z-index: 1060; }

.sl-spinner {
  display: none;
  border: 5px solid #333;
  border-radius: 40px;
  height: 40px;
  left: 50%;
  margin: -20px 0 0 -20px;
  opacity: 0;
  position: fixed;
  top: 50%;
  width: 40px;
  z-index: 1007;
  -webkit-animation: pulsate 1s ease-out infinite;
  -moz-animation: pulsate 1s ease-out infinite;
  -ms-animation: pulsate 1s ease-out infinite;
  -o-animation: pulsate 1s ease-out infinite;
  animation: pulsate 1s ease-out infinite; }

.sl-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

.sl-transition {
  transition: -moz-transform ease 200ms;
  transition: -ms-transform ease 200ms;
  transition: -o-transform ease 200ms;
  transition: -webkit-transform ease 200ms;
  transition: transform ease 200ms; }

@-webkit-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }

@keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }

@-moz-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }

@-o-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }

@-ms-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }
