.map-canvas {
  height: 600px !important;
}
.single-info-window {
  display: flex;
  padding: 10px;
  min-height: 290px;
}
@media only screen and (max-width: 767px) {
  .single-info-window {
    flex-wrap: wrap;
  }
}
.gm-style .gm-style-iw {
  border-radius: 0 !important;
}

.si-float-wrapper {
  position: absolute;
  width   : 100%;
}
.si-float-wrapper,
.si-float-wrapper * {
  box-sizing: border-box;
}
[class*='si-wrapper'] {
  display          : -webkit-box;
  display          : -ms-flexbox;
  display          : flex;
  position         : absolute;
  -webkit-box-align: center;
  -ms-flex-align   : center;
  align-items      : center;
  font-size        : 1.4rem;
  cursor           : default;
}
.si-wrapper-top {
  -webkit-box-orient   : vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction   : column;
  flex-direction       : column;
  margin-top           : -40px;
  margin-left          : 0px;
  -webkit-transform    : translate(-50%, -100%);
  transform            : translate(-50%, -100%);
}
.si-wrapper-bottom {
  -webkit-box-orient   : vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction   : column-reverse;
  flex-direction       : column-reverse;
  margin-top           : 0px;
  margin-left          : 0px;
  -webkit-transform    : translate(-50%, 0);
  transform            : translate(-50%, 0);
}

.si-wrapper-left {
  margin-top       : -20px;
  margin-left      : -11px;
  -webkit-transform: translate(-100%, -50%);
  transform        : translate(-100%, -50%);
}

.si-wrapper-right {
  -webkit-box-orient   : horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction   : row-reverse;
  flex-direction       : row-reverse;
  margin-top           : -20px;
  margin-left          : 11px;
  -webkit-transform    : translate(0, -50%);
  transform            : translate(0, -50%);
}

[class*='si-shadow-wrapper'] {
  display : -webkit-box;
  display : -ms-flexbox;
  display : flex;
  position: absolute;
  top     : 0;
  right   : 0;
  bottom  : 0;
  left    : 0;
  opacity : 0.4;
  z-index : 1;
}

.si-shadow-wrapper-top,
.si-shadow-wrapper-bottom {
  -webkit-box-orient   : vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction   : column;
  flex-direction       : column;
}

.si-shadow-pointer-bottom,
.si-shadow-pointer-right {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order           : -1;
  order                    : -1;
}

.si-shadow-frame {
  box-shadow: 0 4px 6px 0 #000;
}

[class*='si-shadow-pointer'] {
  position: relative;
  width   : 15px;
  height  : 15px;
  margin  : auto;
}

[class*='si-shadow-inner-pointer'] {
  position  : absolute;
  width     : 141%;
  height    : 141%;
  box-shadow: -2.82843px 2.82843px 6px 0 #000;
}

.si-shadow-inner-pointer-top {
  left             : 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform        : translate(-50%, -50%) rotate(-45deg);
}

.si-shadow-inner-pointer-bottom {
  bottom           : 0;
  left             : 50%;
  -webkit-transform: translate(-50%, 50%) rotate(-45deg);
  transform        : translate(-50%, 50%) rotate(-45deg);
}

.si-shadow-inner-pointer-left {
  top              : 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform        : translate(-50%, -50%) rotate(-45deg);
}

.si-shadow-inner-pointer-right {
  top              : 50%;
  right            : 0;
  -webkit-transform: translate(50%, -50%) rotate(-45deg);
  transform        : translate(50%, -50%) rotate(-45deg);
}

.si-frame {
  position        : relative;
  -webkit-box-flex: 1;
  -ms-flex        : 1 1 auto;
  flex            : 1 1 auto;
  border-radius   : 0;
  overflow        : hidden;
  z-index         : 2;
}

.si-content-wrapper {
  width           : 100%;
  max-width       : 100%;
  max-height      : 100%;
  padding         : 0;
}

.si-has-border .si-content-wrapper {
  border: 1px solid #bbb;
}

.si-content {
  overflow: auto;
}

.si-close-button {
  position          : absolute;
  top               : 0;
  right             : 0;
  border            : 0;
  outline           : none;
  background-color  : transparent;
  color             : inherit;
  font-family       : Arial, Baskerville, monospace;
  font-size         : 24px;
  cursor            : pointer;
  opacity           : 0.5;
  -webkit-appearance: none;
  -moz-appearance   : none;
  appearance        : none;
}
.gm-ui-hover-effect {
  top: 3px !important;
  right: 0 !important;
  opacity: 1;
}
.gm-ui-hover-effect img {
  width: 19px!important;
  height: 18px!important;
  margin: 0!important;
}

.si-close-button:hover,
.si-close-button:focus {
  opacity: 0.7;
}

[class*='si-pointer-border'] {
  position: absolute;
  border  : 15px solid transparent;
  z-index : 3;
}

[class*='si-pointer-bg'] {
  position: relative;
  border  : 15px solid transparent;
  z-index : 4;
}

.si-has-border [class*='si-pointer-bg'] {
  border-width: 15px;
}

.si-pointer-border-top,
.si-pointer-border-bottom {
  left             : 50%;
  -webkit-transform: translate(-50%, 0);
  transform        : translate(-50%, 0);
}

.si-pointer-border-left,
.si-pointer-border-right {
  top              : 50%;
  -webkit-transform: translate(0, -50%);
  transform        : translate(0, -50%);
}

.si-pointer-top {
  border-bottom: 0;
}

.si-pointer-border-top {
  bottom          : 0;
  border-top-color: #fff;
}

.si-pointer-bg-top {
  border-top-color: #fff;
  border: 0;
}

.si-has-border .si-pointer-bg-top {
  top          : -1px;
  margin-bottom: 0px;
}

.si-pointer-bottom {
  border-top: 0;
}

.si-pointer-border-bottom {
  top                : 0;
  border-bottom-color: #fff;
}

.si-pointer-bg-bottom {
  border-bottom-color: #fff;
}

.si-has-border .si-pointer-bg-bottom {
  bottom    : -1px;
  margin-top: 0px;
}

.si-pointer-left {
  border-right: 0;
}

.si-pointer-border-left {
  right            : 0;
  border-left-color: #fff;
}

.si-pointer-bg-left {
  border-left-color: #fff;
}

.si-has-border .si-pointer-bg-left {
  left        : -1px;
  margin-right: 0px;
}

.si-pointer-right {
  border-left: 0;
}

.si-pointer-border-right {
  left              : 0;
  border-right-color: #fff;
}

.si-pointer-bg-right {
  border-right-color: #fff;
}

.si-has-border .si-pointer-bg-right {
  right      : -1px;
  margin-left: 0px;
}

.custom-window {
  top               : 30px;
  max-width: 520px;
  -webkit-transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition        : top 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity           : 0;
  visibility        : hidden;
}

.custom-window.open .si-frame {
  overflow: visible;
}

.custom-window.active {
  top       : 0;
  opacity   : 1;
  visibility: visible;
}

.custom-window .si-content {
  overflow: visible;
}

.custom-content {
  position: relative;
  overflow: auto;
  z-index: 2;
  width: 55%;
  float: left;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
p.gm-style-pbt {
  text-align: center !important;
  font-size: 3rem !important;
  color: rgb(255 255 255 / 0.87) !important;
}
.custom-img {
  display: block;
  position: relative;
  width: 45%;
  float: left;
}
.custom-img span {
  height: 100%;
}
.custom-img img {
  object-fit: cover;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100% !important;
  object-position: center;
}
@media only screen and (max-width: 767px) {
  .custom-img img {
    width: 225px;
    height: auto !important;
    height: 270px !important;
  }
}
.custom-header {
  position: relative;
  margin: 0 !important;
  font-size: 14px !important;
  color: #000 !important;
  font-weight: 600;
  padding: 20px 20px 15px 20px !important;
}
.map-subtitle {
  text-transform: unset !important;
  margin: 0 !important;
  padding: 0 20px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}
.map-subtitle a {
  color: #000 !important;
}
.custom-header small {
  display    : block;
  font-size  : 0.55em;
  font-weight: 400;
  opacity    : 0.75;
}

.custom-body {
  padding: 15px 20px 10px 20px;
  background-color: #fff;
  margin-top: auto;
}
.map-actions {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-direction: column;
}
.map-actions .map-button {
  font-size: 14px !important;
  font-weight: 500;
  margin: 0;
  width: auto;
  margin-bottom: 10px;
  padding: 2px 10px;
  border: 1px solid #076BB6;
  border-radius: 25px;
  text-transform: uppercase;
  line-height: 20px;
  min-width: 85px;
  text-align: center;
  float: left;
  clear: left;
}
.map-actions .map-button.scopri, 
.map-actions .map-button.naviga {
  background: #fff;
  color: #076BB6 !important;
}
.map-actions .map-button.prenota {
  background: #076BB6;
  color: #fff !important;
  margin-bottom: 0;
}
.custom-body p {
  margin: 0;
}

.custom-body *+p {
  margin-top: 1em;
}

.custom-body a {
  color: #60a295;
}

.custom-body a:hover,
.custom-body a:focus,
.custom-body a:active {
  color: #437369;
}

.custom-close {
  display: block;
  position: absolute;
  top: 6px;
  right: 6px;
  width: 30px;
  height: 30px;
  -webkit-transition: background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  transition: background-color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  border: 0;
  background-color: transparent;
  font-size: 24px;
  cursor: pointer;
  text-align: center;
  font-weight: 600;
  z-index: 1000;
}

@media (min-width: 992px) {
  /* .custom-window {
    max-width: 320px;
  }

  .custom-content {
    padding-top: 160px;
  }

  .custom-img {
    height: 160px;
  } */

  /* .custom-header,
  .custom-body {
    padding: 10px;
  } */
}