@font-face {
  font-family: "ProximaNova";
  src: url("../fonts/ProximaNova-Regular.otf") format("opentype")
}

@font-face {
  font-family: "ProximaNova-Bold";
  src: url("../fonts/ProximaNova-Bold.otf") format("opentype")
}

@font-face {
  font-family: "ProximaNova-Semibold";
  src: url("../fonts/ProximaNova-Semibold.otf") format("opentype")
}

body {
  font-family: 'ProximaNova','sans-serif','Arial';
  color: #1F1F1F;
}

h1 {
  position: absolute; 
  margin: 0; 
  left: 15px; 
  bottom: 15px; 
  font-size: 12px; 
  font-family: 'ProximaNova'; 
  z-index: 1;
}

.navbar-brand img {
  height: 50px;
}

#nav-info {
  display: none;
  width: 100%;
}

.language-selector a {
  text-decoration: none;
  color: black;
}

.language-selector img {
  height: 32px;
}

.language-selector .dropdown-menu {
  right: 0;
  left: auto;
  padding: 5px 16px;
  min-width: auto;
}

.language-selector2 {
  font-size: 14px; 
  margin-right: 8px;
  text-transform: uppercase;
}

.language-selector2 a {
  color: rgb(31, 31, 31);
}

.call-to-action {
  top: 80px;
  z-index: 9;
  width: 100%;
  visibility: hidden;
}

.call-to-action.scrolled {
  visibility: visible;
}

.call-to-action .btn {
  background-color: #007EE6;
  line-height: 1.1;
  width: 100%;
  height: 100%;
  color: white;
  font-size: 14px;
  border-radius: 10px;
}

h2, .h2 {
  font-family: "ProximaNova-Bold";
  font-size: 40px;
  margin: 0;
}

h3, .h3 {
  font-family: "ProximaNova-Bold";
  font-size: 32px;
}

h5 {
  font-family: "ProximaNova-Semibold";
  font-size: 16px;
  margin: 0;
}

h5.open i{
  display: none;
}

.section {
  border-bottom: 2px solid #E5E5E5;
}

.bold {
  font-family: "ProximaNova-Bold";
}

.semibold {
  font-family: "ProximaNova-Semibold";
}

.box {
  color: #2C3840;
  background-color: #fcfcfc;
  border: 1px solid #E5E5E5;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

#nav-info .availability{
  text-transform: uppercase;
  color: #2C3840;
  font-size: 12px;
}

#nav-info .main-text{
  font-size: 18px;
}

#header-info .availability{
  font-size: 14px;
  text-transform: uppercase;
  color: #2C3840;
}

#header-info .main-text{
  font-size: 36px;
}

#header-info .address{
  font-size: 16px;
  color: #2C3840;
  line-height: 1.5;
}

.back {
  color: #2C3840;
}

.back i {
  margin-right: 15px;
  color: #888888;
}

.tabs, .address {
  line-height: 40px;
}

.tab-view {
  display: none;
}

.address {
  font-size: 18px;
}

.tabs {
  overflow: auto;
}

.tabs .tab {
  float: left;
  cursor: pointer;
  font-size: 21px;
  padding-left: 30px;
  transition: color 0.2s;
  -webkit-transition: color 0.2s;
  -moz-transition: color 0.2s;
  -ms-transition: color 0.2s;
  -o-transition: color 0.2s;
}

.tabs .tab span{
  border-right: 1px solid #B7BBBD;
  padding: 4px 30px 4px 0;
}

.tabs .tab.active,.tabs .tab:hover {
  color: #007EE6;
}
.tabs .tab .active-img{
  display:none;
}
.tabs .tab .inactive-img{
  display:initial;
}
.tabs .tab.active .active-img,.tabs .tab:hover .active-img{
  display:initial;
}
.tabs .tab.active .inactive-img,.tabs .tab:hover .inactive-img{
  display:none;
}

.tabs .tab img {
  margin-right: 15px;
}

.social {
  height: 40px;
}

.social .button {
  display: inline-block;
  border: 1px solid #888888;
  background: white;
  width: 40px;
  height: 40px;
  line-height: 45px;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

.social .button i {
  color: #888888;
  font-size: 18px;
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
}

.social .button:hover .fa-heart {
  color: red;
}

.social .button:hover .fa-share-alt {
  color: blue;
}

.description {
  font-size: 25px;
}

.gallery {
  position: relative;
}

.room-highlight {
  text-align: center;
  font-size: 15px;
  max-width: 800px;
  margin: 0 0 0 30px;
  font-family: "ProximaNova-Semibold";
}

.room-highlight .round-icon {
  line-height: 55px;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #B7BBBD;
  border-radius: 50px;
  padding: 0 15px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  margin-bottom: 10px;
}

.room-highlight .round-icon img {
  width: 28px;
}

.apartment-features {
  list-style: none;
  padding: 0;
}

.energy-rating {
  font-size: 12px;
  text-transform: uppercase;
}

.place {
  border-bottom: 1px solid #E5E5E5;
}
.zona-spostamenti .place:last-child{
  border-bottom: 0;
}
.zona-spostamenti .place .text{
  padding-right: 35px;
}

.zona-spostamenti .row h5{
  cursor:pointer;
}

.zona-spostamenti .row h5::after{
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  padding-left: 15px;
  display: inline-block;
  vertical-align: middle;
  font-weight: 900;
}

.zona-spostamenti .row h5[aria-expanded="true"]::after{
  content: "\f106";
}

.timing {
  /*padding-top: 25px;*/
  display: flex;
}

.timing div {
  flex: 1;
  display: inline-block;
}

.timing div.disabled {
  color: #bfbfbf;
}

.timing span {
  font-size: 14px;
  padding: 5px 0px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #E5E5E5;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  width: 100%;
  display: inline-block;
  font-family: "ProximaNova-Semibold";
  transition: all 0.2s;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
}

.timing span:hover {
  background-color: #f1f1f1;
}

.timing span i{
  margin-right: 5px;
}

/* .room-card {
  width: 300px;
} */

a.hidden-link {
  color: #1F1F1F;
}

a.hidden-link:hover {
  color: #1F1F1F;
  text-decoration: none;
}

.room-card .image-container {
  position: relative;
  width:340px;
  height:240px;
  background-size:cover;
  background-position:center;
  background-color: #f1f1f1;
}

/* 
.room-card img {
  display: block;
  width: 100%;
} */

.room-card .name {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 24px;
}

.room-card .price {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  background-color: #006BA6;
  color: white;
  padding: 0 10px;
  line-height: 35px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

.room-card .occupied,
.main-gallery .occupied {
  position: absolute;
  top: 106px;
  left: 50%;
  font-size: 50px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
}

.main-gallery .occupied{
  top: 50%;
  font-size: 100px;
  z-index:2;
}

.main-gallery .image-container {
  position: relative;
  height: 600px;
  background-size:cover;
  background-position:center;
  background-color: #f1f1f1;
}

.room-card .label {
  font-size: 18px;
}

.services {
  margin-bottom: 0;
}

.services li {
  margin-bottom: 15px;
}

.services li:last-child {
  margin-bottom: 0;
}

.services .fa-li{
  padding-right: 15px;
  color: #32C60D;
}

.extra-services .btn-link{
  color: #1F1F1F;
  text-align: left;
  font-family: "ProximaNova";
  white-space: initial;
}

.extra-services .btn-link:focus, .extra-services .btn-link.focus{
  text-decoration: none !important;
}

.extra-services i{
  margin-right: 15px;
  color: #32C60D;
}

.extra-services .card-body{
  padding: 0 1rem 0 3rem;
  font-size: 0.9rem;
}

.preliminare .extra-services .custom-control {
  position: relative; 
  top: 10px;
}

.preliminare .extra-services button {
  flex: 1;
}

.preliminare .extra-services .price {
  width: 270px;
  text-align: right;
  font-size: 16px;
  line-height: 48px;
}

.preliminare .extra-services .price:not(.active) {
  font-family: "ProximaNova" !important;
}

.visita #submit-button .fa-chevron-right {
  display: none;
}

.firma #availabilities .btn {
  width: 100%;
  border: 0;
}

.firma #availabilities .btn.active {
  background: #00325b; 
  color: white;
  border: 0;
}

.documenti .fieldset {
  background: none;
  border: 0;
  padding: 0 !important;
}
.documenti .file .icon i {
  font-size: 48px;
  min-width: 65px;
  text-align: center;
}
.documenti .file .status i {
  font-size: 36px;
}
.tooltip > .tooltip-inner {
  padding: 15px;
  text-align: left;
  max-width: 300px !important;
}

.apartment-card .image-container {
  position: relative;
  width: 300px;
  height:210px;
  background-size:cover;
  background-position:center;
}

.apartment-card img {
  display: block;
  width: 100%;
}

.apartment-card .name {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 20px;
  line-height: 1.2;
}

.apartment-card .name .title{
  color: #1F1F1F;
}

.apartment-card .name .availability {
  text-transform: uppercase;
  font-size: 12px;
  color: #1F1F1F;
}

.apartment-card .price {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 20px;
  background-color: #006BA6;
  color: white;
  padding: 0 10px;
  line-height: 35px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}

.highlight-box .body {
  background-color: #F6F6F6;
  border-left: 1px solid #888888;
  border-right: 1px solid #888888;
  border-bottom: 1px solid #888888;
  border-radius: 0 0 10px 10px;
  -webkit-border-radius: 0 0 10px 10px;
  -moz-border-radius: 0 0 10px 10px;
  -ms-border-radius: 0 0 10px 10px;
  -o-border-radius: 0 0 10px 10px;
}

.highlight-box .header {
  background-color: #00325b;
  color: white;
  border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0;
  -ms-border-radius: 10px 10px 0 0;
  -o-border-radius: 10px 10px 0 0;
}

.highlight-box .code{
  font-size: 14px;
}

.highlight-box .availability, .highlight-box .label{
  font-size: 20px;
  text-transform: uppercase;
}

.highlight-box .main-text {
  font-size: 35px;
}

.highlight-box .main-text .strikethrough {
  font-size: 24px;
  font-weight: 200;
  font-family: "ProximaNova";
  margin-right: 5px;
}

.strikethrough {
  position: relative;
}

.strikethrough:before {
  position: absolute;
  content: "";
  left: 0;
  top: 40%;
  right: 0;
  border-top: 1px solid;
  border-color: inherit;
  -webkit-transform:rotate(-20deg);
  -moz-transform:rotate(-20deg);
  -ms-transform:rotate(-20deg);
  -o-transform:rotate(-20deg);
  transform:rotate(-20deg);
}

.highlight-box .fee {
  font-size: 12px;
  text-transform: uppercase;
}

.highlight-box .expenses {
  position: absolute;
  bottom: 0;
  left: 15px;
  font-size: 18px;
  text-transform: uppercase;
}

.highlight-box .label {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 30px;
}

.highlight-box .cost {
  text-align: right;
  font-family: 'ProximaNova-Bold';
  font-size: 20px;
}

.highlight-box .summary-row {
  border-bottom: 1px solid white;
}

.middle-right {
  position: absolute; 
  bottom: 50%; 
  right: 15px; 
  transform: translate(0,50%);
}

.highlight-box .cost .middle-right.strikethrough{
  bottom: 80%;
  font-weight: 200;
  font-family: 'ProximaNova';
  font-size: 16px;
}

#sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 30px;
}

.contact-box {
  border: 1px solid #888888;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.contact-box .header {
  font-family: 'ProximaNova-Bold';
  font-size: 22px;
  text-transform: uppercase;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #007EE6;
  color: white;
  z-index: 101;
}

.contact-box .header i {
  position: fixed;
  top: 0;
  left: 1.5rem;
  font-size: 38px;
  transform: translateY(36%);
  -webkit-transform: translateY(36%);
  -moz-transform: translateY(36%);
  -ms-transform: translateY(36%);
  -o-transform: translateY(36%);
}

.contact-box .avatar img {
  position: relative;
  top: -40px;
  width: 130px;
  height: 130px;
  display: inline-block;
  box-shadow:
    0 0 0 8px white,
    0 0 0 9px #B7BBBD;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  -o-border-radius: 100px;
}

.contact-box .title {
  font-family: 'ProximaNova-Bold';
  font-size: 32px;
  line-height: 1.2;
}

.contact-box select, .contact-box input[type="text"], .contact-box input[type="phone"], .contact-box input[type="email"], .contact-box input[type="date"], .contact-box .form-check-container, .contact-box textarea {
  margin-left: 15%;
  width: 85%;
}
.contact-box .dati-contatto .form-check input {
  margin-top: -10px;
  margin-right: 10px;
}

.contact-box .disclaimer {
  font-size: 12px;
}

.bubble {
  position: relative;
  background: #D0E3EE;
  padding: 10px 15px;
  margin-left: 15px;
  width: 85%;
  border-radius: 0 10px 10px 10px;
  -webkit-border-radius: 0 10px 10px 10px;
  -moz-border-radius: 0 10px 10px 10px;
  -ms-border-radius: 0 10px 10px 10px;
  -o-border-radius: 0 10px 10px 10px;
}

.bubble:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-right-color: #D0E3EE;
	border-left: 0;
	border-top: 0;
	margin-top: 0px;
	margin-left: -18px;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
  width: 50px;
  height: 50px;
}

.owl-prev, .owl-next {
  /* width: 28px;
  height: 100px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block !important;
  border: 0;
  z-index: 20; */

  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
}

.owl-theme .owl-nav [class*="owl-"]:hover {
  background: transparent !important;
}

.owl-theme .owl-nav [class*="owl-"]:focus{
  outline: none;   
}

.main-gallery.owl-carousel .owl-nav button.owl-prev { padding-left: 30px !important;left: 0; display:none;}
.main-gallery.owl-carousel .owl-nav button.owl-next { padding-right: 30px !important;right: 0;}

.room-gallery .owl-prev { left: 5px;}
.room-gallery .owl-next { right: 15px;}

.apartment-gallery .owl-prev { left: 5px; }
.apartment-gallery .owl-next { right: 15px; }

.owl-prev i, .owl-next i {
  font-size: 46px;
  color: white;
  text-shadow: 0px 0px 2px black;
}


.owl-carousel .owl-stage-outer {
  max-height: 600px;
}

.accordion .btn-link {
  position: relative;
}
  
.accordion .btn-link::after {
  font-family: "Font Awesome 5 Free";
	content: "\f107";
  padding-left: 15px;
  display: inline-block;
  vertical-align: middle;
  font-weight:900;
}

.accordion .btn-link[aria-expanded="true"]::after {
	content: "\f106";
}

.owl-theme .owl-nav.disabled + .owl-dots {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #fff;
  width: 12px;
  height: 12px;
}

.contact-mobile-open nav.navbar.shadow-sm{
  display:none;
}

.offer-label {
  position: absolute;
  top: 25px;
  left: 0;
  padding: 18px 20px;
  background: #ED1C24;
  font-size: 30px;
  color: white;
  line-height: 1.2;
  z-index: 5;
  border-radius: 0px 10px 10px 0px;
  -webkit-border-radius: 0px 10px 10px 0px;
  -moz-border-radius: 0px 10px 10px 0px;
  -ms-border-radius: 0px 10px 10px 0px;
  -o-border-radius: 0px 10px 10px 0px;
  box-shadow: 0px 0px 10px #00000069;
}

/* FOOTER */
#bottom .title {
  color: #ffffff;
  font: 15px / 27px ProximaNova-Bold;
}
#bottom a {
  color: #fff;
  font-size: 14px;
  line-height: 20px;
}
#bottom ul {
  padding: 0;
}
#bottom li {
  color: #fff;
  list-style: none;
}
#bottom .buttoninfo {
  background-color: #ed1c24;
  border-radius: 6px;
  width: 375px;
  height: 89px;
  display: inline-block;
  max-width: 100%;
}
#bottom .buttoninfo .title {
  color: #ececec;
  font: 400 18px / 32.76px ProximaNova;
  padding-top: 10px;
}
#bottom .buttoninfo .subtitle {
  color: #ececec;
  font: 700 21px / 40px ProximaNova;
}
#subfooter {
  background: #2c3840;
  color: #ffffff;
  font: 400 13px / 20.8px ProximaNova;
  padding-top: 18px;
  padding-bottom: 18px;
  float: left;
  width: 100%;
}
#subfooter a {
  color: #fff;
  text-decoration: none;
}
#subfooter .btn-circle {
  background-color: #5e666c;
  display: inline-block;
  margin-left: 12px;
}
.btn-circle {
  width: 30px;
  height: 30px;
  text-align: center;
  font-size: 18px;
  line-height: 30px;
  border-radius: 50%;
  border-color: #000;
  display: inline-block;
}
.btn-circle.btn-lg {
  width: 50px;
  height: 50px;
  padding: 12px 10px;
  font-size: 28px;
  line-height: 30px;
}

/* COOKIE */

#cookiesdirective .row{
  padding:10px 0;
}
#cookiesdirective .text-left{
    color: #fff;
    font-size: 16px;
    font-weight: 700;  
}
#cookiesdirective a{
  text-decoration:underline;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700;
}
#impliedsubmit{
    color: #fff !important;
    background: #ed1b24;
    border: 0;
    padding: 13px 25px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 6px;
}
#modalContent div.ctools-modal-content a.close {
    margin-top: 55px;
}

.descrizione_offerta {
  width:100%;
  float:left;
  margin-bottom: 20px;
}
.descrizione_offerta p{
  padding: 8px 12px;
  background: #ED1C24;
  color: white;
  line-height: 1.2;
  float: left;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

/* FIX FANCYBOX */

.fancybox-button--zoom,
.fancybox-close-small, .fancybox-button--play {
  display:none !important;
}
.fancybox-button--close,
.fancybox-close-small{
  background: #fff;
  color: #000 !important;
  border-radius:22px;
  opacity:1;
  top: 15px;
  right: 15px;
}
.fancybox-button--close:hover,
.fancybox-close-small:hover {
  color: #bbb !important;
}
.fancybox-toolbar{
  opacity:1;
  visibility:visible;
}

/* SLIDE VIRTUAL TOUR */

.item.virtual-tour .bg-virtual-tour{
  opacity: 0.4 !important;
}
.item.virtual-tour .text-virtual-tour{
  text-align:center;
  position: absolute;
  width: 100%;
  top: 30%;
  max-width: 100vw;
}
.item.virtual-tour .text{
  margin-top:20px;
  font-size: 35px;
}
.item.virtual-tour .icona{
  max-width: 15%;
  margin: 0 auto;
  height:auto;
}
.item.virtual-tour .btn{
  margin-top: 35px;
  padding-left:70px;
  padding-right:70px;
}

#bookmark-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
#bookmark-modal .underlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.2);
  cursor: pointer;
  -webkit-animation: fadein 0.5s;
  animation: fadein 0.5s;
}
#bookmark-modal .modal-container {
  font-family: "ProximaNova";
  max-width: 500px;
  max-height: 530px;
  background-color: white;
  z-index: 1;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 4px;
  -webkit-animation: popin 0.3s;
  animation: popin 0.3s;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
}

.preliminare .guida-firma {
  border: 1px solid #E5E5E5;
  font-size: 18px;
}

.preliminare .guida-firma img {
  width: auto;
  max-width: 100%;
  max-height: 18px;
}

.preliminare ol {
  font-size: 22px;
  list-style: none;
  overflow: hidden;
  counter-reset: numList;
}

.preliminare ol > li {
  float: left;
  position: relative;
  width: 100%;
  margin-bottom: 10px;
  line-height: 30px;
}

.preliminare ol > li:before {
  counter-increment: numList;
  content: counter(numList);
  float: left;
  position: absolute;
  left: -40px;
  top: 2px;
  font: bold 12px sans-serif;
  text-align: center;
  color: #fff;
  line-height: 25px;
  width: 25px;
  height: 25px;
  background: #00325b;
  -moz-border-radius: 999px;
  border-radius: 999px
}

.preliminare ol i {
  color: #00325b;
}

.preliminare #download-preliminare, .preliminare #upload-preliminare {
  width: 210px !important;
}

.preliminare .tip {
  position: relative;
  top: 5px;
  left: 30px;
  line-height: 1
}

.preliminare .nb {
  display: block;
  text-align: center;
  color: #fff;
  line-height: 25px;
  min-width: 25px;
  height: 25px;
  background: #00325b;
  border-radius: 999px;
  margin-right: 15px;
  font-size: 11px;
}

.rwd-video {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  padding-top: 30px;
  position: relative;
}
.rwd-video iframe,
.rwd-video object,
.rwd-video embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.supermodal-container .supermodal-window {
  height: auto !important;
}

.supermodal-window.show {
  animation: none !important;
  -webkit-animation: none !important;
}

@media (max-width: 500px){
  #bookmark-modal .modal-container {
    margin: 15px;
  }
}

.modal-container .modal-close{
  position: absolute;
  top: 7.5px;
  right: 15px;
  font-size: 24px;
  color: #5a5a5a;
  cursor: pointer;
}

.modal-container label {
  font-size: 14px;
}

.banner {
  color: #2C3840;
  background-color: #ffffff;
  border: 1px solid #b7bbbd;
  cursor: pointer;
  /* color: #2C3840; */
  /* background-color: #fcfcfc; */
  /* border: 1px solid #E5E5E5; */
  cursor: pointer;
  /* border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px; */
}

.banner i {
  font-size: 51px;
  color: #ed1c24;
}
.banner .fa-mouse-pointer{
  color: #2c3840;
  top: 30px;
  font-size: 22px;
  position: absolute;
  left: 50px;
}
.banner .title {
  font-size: 18px;
}

.banner .subtitle {
  font-size: 16px;
  line-height:24px;
}

.banner.banner-bg {
  border: 0;
  background:url(/annunci/images/bg_virtual_tour_small_white.jpg) no-repeat center center;
}

.fieldset {
  color: #2C3840;
  background-color: #fcfcfc;
  border: 1px solid #E5E5E5;
  border-radius: 10px;
}

.fieldset + .fieldset {
  margin-top: 2rem;
}

.button-group .btn + .btn {
  margin-left: 10px;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 40px;
  margin: 0 auto;
}
.lds-ellipsis div {
  position: absolute;
  top: 15px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: black;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}

@media (min-width: 1550px){
  .container, .container-sm, .container-md, .container-lg, .container-xl {
      max-width: 1490px;
  }
}

@media screen and ( min-width: 768px ) and ( max-height: 900px ){
  #contact-form{
    max-height: calc(100vh - 200px);
    overflow-y: scroll;  
  }
  #contact-form::-webkit-scrollbar {
    width: 0px;  /* Remove scrollbar space */
    background: transparent;  /* Optional: just make scrollbar invisible */
  }
}

@media (min-width: 768px){
  .room-highlight .col-25 {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
      flex: 0 0 20%;
      max-width: 20%;
  }
}

@media (max-width: 1550px){
  .container {
    max-width: 1340px;
  }
  .tabs .tab {
    font-size: 16px;
    padding-left: 20px;
  }
  .tabs .tab span {
    padding-right: 20px;
  }
  .highlight-box .availability, .highlight-box .label {
    font-size: 14px;
  }
  .highlight-box .main-text {
    font-size: 28px;
  }
  .highlight-box .expenses {
    font-size: 12px;
  }
  .contact-box .title {
    font-size: 28px;
  }
}

@media (max-width: 991px){
  .mobile-social {
    position: absolute;
    top: 25px;
    left: 15px;
    z-index: 5;
  }
  .social {
    margin-top: 0;
  }
  .mobile-price {
    position: absolute;
    top: 25px;
    right: 15px;
    padding: 5px 10px;
    background: #00325B;
    font-size: 36px;
    color: white;
    line-height: 1.2;
    z-index: 5;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
  }
  .mobile-price .strikethrough {
    font-size: 24px;
    font-weight: 200;
    font-family: "ProximaNova";
    margin-right: 5px;
  }
  .mobile-price .expenses {
    font-size: 14px;
  }
  #sidebar {
    position: static;
    top: 0;
  }
  .contact-box {
    display:none;
    background-color: white;
    z-index: 100;
    border-radius: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    overflow-y: scroll;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
  }
  .contact-box select, .contact-box input {
    margin-left: 0;
    width: 100%;
  }
  .contact-box input[type="radio"],
  .contact-box input[type="checkbox"]{
    width: 22px;
  }
  .contact-box form {
    max-width: 400px;
    margin: 0 auto;
  }
  .contact-box .avatar {
    width: 100%;
    text-align: center;
    margin-bottom: -10px;
  }
  .contact-mobile-open .contact-box .header,
  .contact-mobile-open .contact-box .header i{
    position:absolute;
  }
  .contact-mobile-open #contact-form{
    margin-top: 65px;
  }
}

@media (max-width: 991px){
  .navbar {
    position: fixed;
    z-index: 10;
    width: 100%;
    background: white;
    height: 80px;
  }
  .navbar-brand {
    margin-left: -15px;
  }
  .navbar-brand img {
    height: 35px;
  }
  .navbar.scrolled {
    text-align: left !important;
  }
  .navbar.scrolled .container{
    padding: 0 !important;
  }
  .navbar.scrolled #nav-brand {
    display: none;
  }
  .navbar.scrolled #nav-info {
    display: block;
  }
  .pt-mobile {
    padding-top: 80px;
  }
  .pt-fixed {
    margin-top: 139px;
  }
  .gallery {
    margin: 0 -15px;
    overflow: hidden;
  }
  .owl-stage-outer {
    margin-right: -15px;
  }
  .highlight-box .description {
    font-size: 16px;
  }
  .firma .highlight-box.mobile {
    margin-bottom: 1rem;
  }
  .tabs {
    border-top: 1px solid #B7BBBD;
    border-bottom: 1px solid #B7BBBD;
    margin: 0 -15px;
    padding: 5px 0;
  }
  .tabs .tab {
    float: none;
  }
  .offer-label+.mobile-social{
    top:125px;
  }
  .owl-theme .owl-nav{
    margin-top:10px;
  }

  .language-selector2 {
    position: absolute;
    right: 15px;
  }

  .scrolled .language-selector2 {
    position: absolute;
    left: 15px;
    right: auto;
    top: 8px;
    font-size: 12px !important;
  }
  h5.open i{
    display: inline-block;
    float: right;
  }
  .documenti main {
    padding-top: 80px;
  }
}

/* sm */
@media (max-width: 767px){
  #bottom .buttoninfo .subtitle {
    color: #ececec;
    font: 700 18px / 30px ProximaNova;
  }
  .main-gallery .occupied {
    font-size: 50px;
  }
  .item.virtual-tour .text-virtual-tour {
    top: 35%;
  }
  .item.virtual-tour .icona{
    max-width: 20%;
  }
  .item.virtual-tour .text {
    font-size: 22px;
  }
  .item.virtual-tour .btn {
    margin-top: 25px;
    padding-left: 40px;
    padding-right: 40px;
  }

  h2, .h2 {
    font-size: 25px;
  }

  h3, .h3 {
    font-family: "ProximaNova-Bold";
    font-size: 24px;
  }

  .description {
    font-size: 16px;
  }

  .room-highlight {
    font-size: 12px;
    margin: 0 auto;
  }
  
  .room-highlight .round-icon {
    line-height: 40px;
    width: 45px;
    height: 45px;
    padding: 0;
  }
  
  .room-highlight .round-icon img {
    width: 20px;
  }

  .main-gallery img, .main-gallery {
    height:300px;
    width: auto !important;
  }
  
  .main-gallery .image-container{
    height: 300px;
  }

  .offer-label+.mobile-social{
    top:unset;
    bottom:25px;
  }

  #cookiesdirective .text-left{
    font-size: 14px;
  }
  #cookiesdirective a{
    font-size: 14px !important;
  }
  #impliedsubmit{
    margin-top: 15px;
    padding: 8px 15px;
    font-size: 14px;
  }
  .fancybox-slide{
    padding: 15px;
  }
  .descrizione_offerta {
    margin-left: -15px;
  }

  .highlight-box .main-text {
    font-size: 24px;
  }

  .owl-video-wrapper{
    width: 100vw !important;
    height:300px !important;
  }
}

/* xs */
@media (max-width: 575px){
  .preliminare .tip {
      top: 2;
      left: 0;
      line-height: 1;
  }
  .preliminare .guida-firma {
    font-size: 16px;
  }
  .preliminare .extra-services .price {
      width: 80px;
      font-size: 12px;
      line-height: 1.2;
      font-weight: bold;
      position: relative;
      top: 11px;
  }
  .visita .form-check span{
    display: block;
  }
  .visita #submit-button {
    width: 100%;
  }
  .documenti .file h4 {
    font-size: 18px;
  }
  .documenti .file .icon i {
    font-size: 18px;
    min-width: 18px;
  }
  .documenti .status .btn {
      width: 36px;
      height: 36px;
      padding: 0;
      line-height: 36px;
      text-align: center;
  }
  .documenti .status-description {
    font-size: 14px;
  }
  .fancybox-iframe {
    max-height: auto;
  }
  .main-gallery.owl-carousel .owl-nav button.owl-prev { padding-left: 10px !important;}
  .main-gallery.owl-carousel .owl-nav button.owl-next { padding-right: 10px !important;}
  .pt-fixed {
    margin-top: 107.5px;
  }
  h5.open {
    font-size: inherit;
    cursor: pointer;
  }
  h5.open i.flip {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
  }
  .description {
    font-size: 14px;
  }
  .tabs {
    border-top: 1px solid #B7BBBD;
    border-bottom: 1px solid #B7BBBD;
    margin: 0 -15px;
    padding: 15px 0;
  }
  .tabs .tab {
    line-height: 1.4;
    /* padding: 0; */
    font-size: 14px;
    /* width: 50%; */
    border-right: 1px solid #B7BBBD;
    /* float: left; */
  }
  .tabs .tab.mappa {
    border-right: 0;
  }
  .tabs .tab span{
    width: 100%;
    padding: 4px 30px 4px 0;
    border: 0;
  }
  .tabs .tab img{
    width: 14px;
    margin-right: 5px;
  }
  .highlight-box .label {
    font-size: 10px;
    line-height: 20px;
  }
  .highlight-box .cost, .highlight-box .total {
    font-size: 14px;
  }
  .highlight-box .description {
    font-size: 12px;
  }
  /* .owl-prev i, .owl-next i{
    display: none;
  } */
  .social .button {
    width: 35px;
    height: 35px;
    line-height: 40px;
  }
  #header-info .availability{
    font-size: 12px;
  }
  #header-info .main-text{
    font-size: 22px;
    line-height: 1.2;
  }
  #header-info .address{
    font-size: 11px;
  }
  .mobile-price {
    padding: 5px 10px;
    font-size: 25px;
  }
  .mobile-price .expenses {
    font-size: 10px;
  }
  .offer-label {
    padding: 10px 18px;
    font-size: 14px;
    border-radius: 0px 5px 5px 0px;
    -webkit-border-radius: 0px 5px 5px 0px;
    -moz-border-radius: 0px 5px 5px 0px;
    -ms-border-radius: 0px 5px 5px 0px;
    -o-border-radius: 0px 5px 5px 0px;
  }
  .offer-label+.mobile-social{
    top:75px;
  }
  .preliminare .extra-services .custom-control {
    top: 7px;
  }
  .preliminare .extra-services button {
    padding: 6px 0 6px 5px;
  }
  .preliminare ol {
    font-size: 16px;
    padding-left: 40px;
  }
  .preliminare #download-preliminare, .preliminare #upload-preliminare {
    width: 100% !important;
  }
}