/*
 * Vitec Estate Styles — Hello Elementor Child
 * Ported from Divi child theme, adapted for Elementor
 */

.hidden, .hidden-bylimit {display: none;}


.vitec-estate {
   width:100%;
}

.vitec-estate:after {
   visibility: hidden;
   display: block;
   font-size: 0;
   content: " ";
   clear: both;
   height: 0;
}

.vitec-estate > main {
   float: left;
   width: 100%;
   padding: 2%;
}

.vitec-estate > aside {
   float: right;
   width: 100%;
   padding: 0;
}

.vitec-estate-images {
   padding: 0;
}

.vitec-estate-images:after {
   visibility: hidden;
   display: block;
   font-size: 0;
   content: " ";
   clear: both;
   height: 0;
}

.vitec-estate-images-thumb-container {
   width: 25%;
   padding: 1%;
   float: left;
}

.vitec-figure { margin-bottom: 10px; }
.vitec-figure img { display: block; margin: 0 auto; }
.vitec-figure figcaption {
   padding: 10px 0px;
   margin-bottom: 30px;
   text-align: center;
   background: #f5f5f5;
}

.vitec-estate-map {
   padding: 2%;
}

.vitec-estate-google-map {
   width: 100%;
   height: 0;
   padding-bottom: 40%;
   margin-bottom: 80px;
}

.vitec-estate-user-readmore, .vitec-user-readmore {
   display: inline-block;
   background: #e2e2e2;
   color: rgb(31, 31, 31);
   text-align: center;
   padding: 20px 30px;
   text-transform: uppercase;
   letter-spacing: 1px;
   transition: transform 0.4s, box-shadow 0.4s, background-color 0.4s;
   cursor: pointer;
}
.vitec-estate-user-readmore:hover, .vitec-user-readmore:hover {
   transform: translateY(-3px);
   box-shadow: 0px 3px 0px rgba(0,0,0,0.7);
   background-color: #cecece;
}
.vitec-estate-user-readmore:active, .vitec-user-readmore:active {
   transform: translateY(2px);
   box-shadow: 0px 0px 0px rgba(0,0,0,0.7);
   background-color: #cecece;
}

/*
* Users / Mäklare / Medarbetare
*/
.vitec-users {
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}

.vitec-user {
   flex-grow: 1;
   width: 50%;
   margin-bottom: 20px;
}
.vitec-user img.vitec-user-image {
   float: left;
   height: 200px;
   margin-right: 10px;
   padding: 10px;
   background: #efefef;
}
.vitec-user-email, .vitec-main-user-email { display: block; }
.vitec-user-phone, .vitec-main-user-phone { display: block; }

.vitec-user.hide { display: none; }


/* Main User (User page) */
.vitec-main-user img.vitec-user-image {
   float: left;
   height: 300px;
   margin-right: 10px;
   padding: 10px;
   background: #efefef;
}


/* Hittamäklare */
.hittamaklare-rating-wrapper { display: flex; align-items: center;}
.vitec-star-yellow {
   width: 20px;
   fill: #ffc600;
   margin-right: 6px;
}
.hittamaklare-text-rating { font-weight: bold;}


/* Estate list */
.vitec-estate-list {
   display: flex;
   flex-flow: row wrap;
   gap: 20px;
}

.vitec-estate-list:hover .vitec-estate-list-item:not(:hover) {
   opacity: .75;
   transition: all ease-in-out .8s;
}

.vitec-estate-list-item {
   background: white;
   box-shadow: 0px 0.5px 0.5px hsl(0deg 0% 76% / 0.2),
    0px 0.7px 0.8px -1.4px hsl(0deg 0% 76% / 0.19),
    0px 1.6px 1.7px -2.7px hsl(0deg 0% 76% / 0.18);
   margin: 0;
   position: relative;
   min-height: 120px;
   transition: all ease .25s;
}

.vitec-estate-list-item:hover {
   box-shadow: 0px 0.5px 0.5px hsl(0deg 0% 76% / 0.17),
    0px 1.1px 1.2px -0.7px hsl(0deg 0% 76% / 0.16),
    0px 2px 2.2px -1.4px hsl(0deg 0% 76% / 0.16),
    0px 4px 4.4px -2.1px hsl(0deg 0% 76% / 0.15),
    -0.1px 7.8px 8.5px -2.7px hsl(0deg 0% 76% / 0.15);
}

.vitec-estate-list-item a, .vitec-estate-list-item a:hover, .vitec-estate-list-item a:active {
   display: block;
   text-decoration: none;
   box-shadow: none !important;
   color: #383838;
   position: relative;
}

h2.vitec-estate-list-item-title {
   margin-bottom: 0;
}

.vitec-estate-list-item img {
   width: 100%;
   display: block;
   padding: 20px 20px 0;
}

.vitec-estate-list-item-description,
.vitec-estate-hero-text {
   padding: 15px;
   display: block;
   font-size: 15px;
   font-weight: 300;
   padding: 2em 2em;
   position: static;
   text-align: center;
}

.vitec-estate-list-item-description .vitec-estate-list-item-subtitle,
.vitec-estate-hero-text .vitec-estate-subtitle {
   color: #D5D5D5;
   font-weight: normal;
   letter-spacing: .175em;
   text-transform: uppercase;
}

.vitec-estate-list-item-subsubtitle {
    text-transform: uppercase;
    letter-spacing: .175em;
    color: #666666;
}

.vitec-estate-list-item-description .vitec-estate-list-item-title,
.vitec-estate-hero-text .vitec-estate-title {
   font-size: 18px;
   letter-spacing: .175em;
   padding: .5em 0;
   text-transform: uppercase;
}

.vitec-estate-hero-text .vitec-estate-subtitle-municipality,
.vitec-estate-hero-text .vitec-estate-subtitle-price {
   color: #b4b4b4;
}

.vitec-estate-list-item-viewing {
   position: absolute;
   top: 30px;
   padding: 10px;
   padding-right: 30px;
   background: rgba(255,255,255,0.9);
   box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
.vitec-estate-list-item-viewing-time { display: block; }

.vitec-estate-list-item-rooms { display: inline; }

.vitec-estate-list-item-rooms:after { content: ' rum'; }
.vitec-estate-list-item-livingarea:after { content: ' boarea'; }
.vitec-estate-list-item-plotarea:after { content: ' tomtarea'; }

.vitec-estate-list-item[data-estate-type="plot"] .vitec-estate-list-item-rooms { display: none; }
.vitec-estate-list-item[data-estate-type="plot"] .vitec-estate-list-item-livingarea { display: none; }
.vitec-estate-list-item[data-estate-type="housingcooperative"] .vitec-estate-list-item-plotarea { display: none; }

.vitec-estate-list-item-price {
  display: block;
}

.estate-listitem-kommande .vitec-estate-list-item-subtitle::after {
  color: #36a7f2;
  content: "Kommande";
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin-top: 15px;
  letter-spacing: .175em;
  text-transform: uppercase;
}

.estate-listitem-sald .vitec-estate-list-item-title {display: none;}


.btn-vitec-show-more-wrapper {
   text-align: center;
   padding: 10px 0px 20px 0px;
}
.btn-vitec-show-more-wrapper.hide { display: none;}

.btn-vitec,
.btn-vitec-show-more {
   background:rgb(48, 48, 48);
   padding: 15px 40px;
   color: #fff;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   font-size: 16px;
   font-style: normal;
   font-weight: 400;
   border-radius: 30px;
   transition: 0.4s all;
   margin: 0 auto;
   display: inline-block;
   left: 0;
   right: 0;
   cursor: pointer;
}
.btn-vitec:hover,
.btn-vitec-show-more:hover {
   background: rgb(17, 17, 17);
   transform: translateY(-4px);
   box-shadow: 0px 4px 7px rgb(175, 175, 175);
}


/* ESTATE LIST - CAROUSEL */
.vitec-carousel { margin-bottom: 60px;}
.vitec-carousel .glide__bullets { transform: translateX(-50%) translateY(50px); }
.vitec-carousel .glide__arrows { display: none; }
.vitec-carousel .glide__bullet {
   box-shadow: none;
   background-color: #efefef;
}
.vitec-carousel .glide__bullet--active {
   background-color: rgb(39, 39, 39);
}

/*Estate Object*/
.vitec-estate .vitec-estate-hero,
.vitec-estate .vitec-estate-herogallery,
.vitec-estate-hero,
.vitec-estate-herogallery {
   width: auto;
   height: auto;
   background-size: cover;
   background-position: center center;
   display: block;
   text-align: center;
   position: relative;
}

.vitec-estate-hero-text {
   background: transparent;
   display: block;
   padding: 4em 0;
   position: static;
}

.vitec-estate .vitec-estate-herogallery, .vitec-estate-herogallery {
   overflow: hidden;
   height: 76vh;
}

h1.vitec-estate-title {
   margin-bottom: 0;
}
.vitec-estate-subtitle {

}

.vitec-estate-aside-box {
   margin-bottom: 10px;
   background: #F7F7F7;
}

.vitec-estate-aside-box-text {
   padding: 0;
}

.estate-infobox-info {
   clear: both;
   margin-bottom: 20px;
}

.estate-viewing-icon {
   width: 80px;
   text-align: center;
   background: #ffffff;
   float: left;
   margin-right: 10px;
   margin-bottom: 10px;
}

.estate-viewing-icon-month {
   background: #000000;
   color: #ffffff;
   display: block;
   width: 100%;
   font-size: 12px;
}

.estate-viewing-icon-day {
   padding: 5px;
   display: block;
   font-weight: bold;
   font-size: 20px;
}

.vitec-estate-key-value-pair .key { font-weight: bold; }

#vitec-header-images { display: none; }
.vitec-estate-images { clear: both; }
.vitec-estate-images a { display: block; width: 100%; float: left; padding-right: 4px; }
.vitec-estate-images a img { width: 100%; }
.vitec-estate-images.hidden { display: none; }

#vitec-estate-herogallery-images {
   margin: 0 auto;
}

#vitec-estate-herogallery-images div {
   position: absolute;
   width: 100%;
   bottom: 0;
   top: 0;
   left: 0;
   right: 0;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
}

#vitec-estate-herogallery-images div:nth-of-type(1) {
   animation-name: fader;
   animation-delay: 4s;
   animation-duration: 2s;
   z-index: 20;
}
#vitec-estate-herogallery-images div:nth-of-type(2) {
 z-index: 10;
}

#vitec-estate-herogallery-images div:nth-of-type(n+3) {
   display: none;
}

@keyframes fader {
   from { opacity: 1.0; }
   to { opacity: 0.0; }
}

.vitec-estate aside {
   width: 100%;
}


/* Estate Coming */
.vitec-estate-object-is-coming .vitec-estate-aside-information-brokers .vitec-estate-aside-box-text {
    display: flex;
    justify-content: space-around;
    flex-flow: row wrap;
    margin-top: 30px;
}

.vitec-estate-object-is-coming .vitec-estate-user {
    flex-grow: 1;
    margin-bottom: 20px;
}
.vitec-estate-object-is-coming .vitec-estate-user > p { text-align: left; }
.vitec-estate-object-is-coming .vitec-estate-user .vitec-estate-user-imagewrapper {
    float: left;
    margin-right: 10px;
    height: 140px;
}

.vitec-estate-object-is-coming .vitec-estate-user .vitec-estate-user-imagewrapper img {
    max-height: 150px;
}
.vitec-estate-object-is-coming .vitec-estate-images { display: flex; flex-flow: row wrap; }
.vitec-estate-object-is-coming .vitec-estate-images a { width: clamp(260px, calc(100% / 3), 100%); flex-grow: 1; }
.vitec-estate-object-is-coming .vitec-estate-images a:first-child, .vitec-estate-object-is-coming .vitec-estate-images a:nth-child(2) { width: clamp(260px, calc(100% / 2), 100%); }


/* Estate Sold */
.vitec-estate-object-is-sold {
   max-width: 800px;
   margin: 0 auto;
   padding: 20px;
   left: 0;
   right: 0;
   margin-top: 70px;
   position: relative;
}
.vitec-estate-object-is-sold>p { margin-bottom: 20px;}


/* IMAGES EXCERPT */
#imagelightbox-overlay {background: rgba(74,74,74,0.6) !important;}
img#imagelightbox {
   box-shadow: -0.2px 27.6px 30px -2.7px rgba(74,74,74,0.6);
}

.vitec-estate-images-excerpt {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   grid-template-rows: repeat(6, 1fr);
   grid-column-gap: 5px;
   grid-row-gap: 5px;
   height: 450px;
   cursor: pointer;
}
.vitec-estate-images-excerpt>div:nth-child(2) { grid-area: 1 / 1 / 3 / 3; }
.vitec-estate-images-excerpt>div:nth-child(3) { grid-area: 1 / 3 / 3 / 5; }
.vitec-estate-images-excerpt>div:nth-child(4) { grid-area: 1 / 5 / 3 / 7; }
.vitec-estate-images-excerpt>div:nth-child(1) { grid-area: 3 / 1 / 7 / 5; }
.vitec-estate-images-excerpt>div:nth-child(5) { grid-area: 3 / 5 / 5 / 7; }
.vitec-estate-images-excerpt>div:nth-child(6) { grid-area: 5 / 5 / 7 / 7; }
.vitec-estate-images-excerpt>div { background-size: cover; position: relative; }
.vitec-estate-images-excerpt>div img { display: block;}
.vitec-estate-images-excerpt-showall {
   content: 'Visa alla bilder';
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   background-color: rgba(0,0,0,0.5);
   text-align: center;
   color: white;
   font-weight: bold;
   font-size: 30px;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: background-color 0.5s ease-in-out;
}
.vitec-estate-images-excerpt:hover .vitec-estate-images-excerpt-showall {
   background-color: rgba(0,0,0,0.6);
}
.vitec-estate-images-excerpt-showall { line-height: 2.8rem; }
.vitec-estate-images-popup-close { margin-right: 10px; }


/* SECTION READ MORE */
.vitec-estate-main-information section {
   box-shadow: none;
   margin-bottom: 10px;
   padding: 0;
   position: relative;
}
.vitec-estate-main-information section.closed { height: 52px; overflow: hidden; }

.vitec-estate-main-information section .vitec-toggle-read-more {
   display: block;
   position: absolute;
   top: 0;
   right: 0;
   padding: 10px 15px;
   font-size: 28px;
   font-weight: bold;
   width: 100%;
   text-align: right;
}
.vitec-estate-main-information section.closed .vitec-toggle-read-more {
   bottom: 0;
}

.vitec-estate-main-information .vitec-toggle-read-more:before {
   content: '-';
}
.vitec-estate-main-information section.closed .vitec-toggle-read-more:before {
   content: '+';
}
.vitec-estate-main-information .vitec-toggle-read-more:hover {
   background: rgba(0,0,0,0.03);
   cursor: pointer;
}


/* Bids */
.vitec-estate-aside-information-bids-history {
   max-height: 1200px;
   transition: all 0.4s;
}
.vitec-estate-aside-information-bids-history ul.vitec-bids {
   padding: 0px;
   list-style-type: none;
}
ul.vitec-bids li {
   padding: 3px 10px;
   border-radius: 3px;
   margin-bottom: 2px;
   background: rgba(0,0,0,0.06);
   text-align: right;
}
.vitec-estate-bids-show-history, .vitec-estate-bids-hide-history {
   cursor: pointer;
   text-align: center;
   display: block;
   margin-top: 4px;
   margin-bottom: -10px;
   padding: 6px;
}
.vitec-estate-bids-show-history.hidden {
   display: none;
}
.vitec-estate-bids-hide-history.hidden {
   display: none;
}
.bids-history-closed {
   opacity: 0;
   max-height: 0;
   overflow: hidden;
}

.vitec-bid-alias {
   display: none;
   float: left;
   padding-right: 4px;
   font-weight: bold;
   font-size: 10px;
}

.vitec-bid-current .vitec-estate-key-value-pair .key {
    display: block;
    text-transform: uppercase;
    font-size: 14px;
    margin-top: 20px;
    letter-spacing: 2px;
    font-weight: 600;
}
.vitec-bid-current .vitec-estate-key-value-pair .value { letter-spacing: 1px; }

/* Bids - EstateListItem */
.vitec-estate-list-item-bidding {
      position: absolute;
      top: 30px;
      right: 0;
      padding: 10px 20px;
      background: rgba(255,255,255,0.9);
}


/* Youtube */
#vitec-youtube-wrapper {
   clear: both;
   padding: 0;
}
#vitec-youtube {
   display: flex;
   flex-flow: row wrap;
}
#vitec-youtube>div {
   flex-grow: 1;
   padding-right: 4px;
   min-width: 33%;
}
#vitec-youtube span { display: none;}

/* VIMEO */
#vitec-vimeo {
   display: flex;
   flex-flow: row wrap;
}
#vitec-vimeo>div {
   flex-grow: 1;
   padding-right: 4px;
   min-width: 33%;
}

/* 3D view */
#vitec-3dviews-wrapper {
   clear: both;
   padding: 2%;
}
#vitec-3dviews>div>.vitec-3dview-iframewrapper {
   overflow: hidden;
   padding-top: 56.25%;
   position: relative;
}
#vitec-3dviews>div>.vitec-3dview-iframewrapper>iframe {
   border: 0;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

/* Drone view */
#vitec-droneviews-wrapper {
   clear: both;
   padding: 2%;
}
#vitec-droneviews>div>.vitec-droneview-iframewrapper {
   overflow: hidden;
   padding-top: 56.25%;
   position: relative;
}
#vitec-droneviews>div>.vitec-droneview-iframewrapper>iframe {
   border: 0;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}


/* Area */
.vitec-estate-area {
   display: flex;
   flex-flow: row wrap;
}
.vitec-estate-area-images img { width: 50%; }
.vitec-estate-area-images[data-imagecount="2"] img,
.vitec-estate-area-images[data-imagecount="3"] img {
   width: calc(100%/2);
}
.vitec-estate-area-images[data-imagecount="1"] img:first-child { width: 100%; }
.vitec-estate-area-images[data-imagecount="2"] img:first-child { width: 50%; }
.vitec-estate-area-images[data-imagecount="3"] img:first-child { width: 100%; }
.vitec-estate-area-images[data-imagecount="5"] img:nth-child(3),
.vitec-estate-area-images[data-imagecount="5"] img:nth-child(4),
.vitec-estate-area-images[data-imagecount="5"] img:nth-child(5) {
   width: calc(100%/3);
}


/* FILTER STYLING */
.vitec-filter-columns {
   display: flex;
   flex-flow: row wrap;
   align-items: stretch;
}
.vitec-filter-column {
   padding: 15px;
   min-width: 150px;
   max-width: 100%;
   flex-grow: 1;
   text-align: center;
   padding-top: 0;
}
.vitec-filter-column > h3 { display: none; }

.vitec-filter-pill {
   padding: 5px 15px;
   border-radius: 25px;
   background: #DDDDDD;
   color: #000000;
   transition: all 0.2s;
   cursor: pointer;
   display: inline-block;
   margin-bottom: 4px;

   -moz-user-select: none;
   -webkit-user-select: none;
   -ms-user-select: none;
   user-select: none;
}
.vitec-filter-pill:hover {
   background: #E8E8E8;
}

.vitec-filter-pill.active, .vitec-filter-pill.active:hover {
   background: #4a4a4a;
   color: #ffffff;
}

.vitec-filter-rangeslider-minmax { display: flex; justify-content: space-between; }
.vitec-filter-rangeslider-max { text-align: right; }

.vitec-filter-rangeslider-pricerange-min:after { content: ' kr'; }
.vitec-filter-rangeslider-pricerange-max:after { content: ' kr'; }
.vitec-filter-rangeslider-sizerange-min:after { content: ' kvm'; }
.vitec-filter-rangeslider-sizerange-max:after { content: ' kvm'; }


/* Documents */
.vitec-estate-aside-information-documents a {
  color: #4a4a4a;
  font-weight: normal;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}


/* Broker styling */
.vitec-estate-user > p {
  text-align: center;
}

.vitec-estate-user > p .vitec-estate-user-imagewrapper {
  display: block;
  margin: 0 0 1em 0;
}

.vitec-estate-user-imagewrapper img {
  max-height: 300px;
}

.vitec-estate-user-name {
  color: #4a4a4a;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.vitec-estate-user-email a {color: #4a4a4a;}

.vitec-estate-hero {margin-bottom: 10px;}


/* BudID */
.vitec-budid-active {
   position: absolute;
   right: 10px;
   width: 100px;
   height: 100px;
   top: 80px;
   border-radius: 50%;
   overflow: hidden;
   box-shadow: 2px 2px 3px rgb(0 0 0 / 30%);
}
.vitec-budid-active img { max-width: 100%;}


/* Energy class */
.energy-class {
   position: relative;
   text-align: center;
   vertical-align: top;
   display: inline-block;
}
.energy-class svg {
   width: 100%;
   max-width: 100px;
   margin: 0 auto;
}
.energy-class-A svg path { fill: #086634; }
.energy-class-B svg path { fill: #0c8e36; }
.energy-class-C svg path { fill: #97c11f; }
.energy-class-D svg path { fill: #f9ea1b; }
.energy-class-E svg path { fill: #f29200; }
.energy-class-F svg path { fill: #e7302a; }
.energy-class-G svg path { fill: #e40613; }

.energy-class-wrapper {
   float: right;
   width: 100%;
   max-width: 110px;
   text-align: center;
}
.energy-class-wrapper strong { display: block; text-align: center; }
.energy-class-text {
   position: absolute;
   width: 100%;
   text-align: center;
   bottom: 30px;
   font-weight: bold;
   color: #000000;
   font-size: 40px;
}


/* INTEREST FORM */
.vitec-interest-form-container {
   /* Hidden by default via .hidden class */
}


/* Loaders */
.lds-ring {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 32px;
  height: 32px;
  margin: 4px;
  border: 7px solid #afafaf;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #afafaf transparent transparent transparent;
}
.lds-ring div:nth-child(1) { animation-delay: -0.45s; }
.lds-ring div:nth-child(2) { animation-delay: -0.3s; }
.lds-ring div:nth-child(3) { animation-delay: -0.15s; }
@keyframes lds-ring {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* Sliders */
body .noUi-horizontal .noUi-handle, body .noUi-handle {
    border-radius: 50%;
    width: 20px !important;
    height: 20px !important;
    transform: translateX(-7px);
    box-shadow: none;
    top: -8px;
}
.noUi-horizontal {
    height: 6px !important;
}
body .noUi-handle:before, body .noUi-handle:after { display: none; }


/* Hidden broker image fallback */
.vitec-estate-user-imagewrapper img[src$="/"] { display: none; }


/* Lightbox */
body .imagelightbox-arrow {
  background: transparent !important;
  border: none;
  width: 5.5em;
}
body .imagelightbox-arrow::before,
body #imagelightbox-close::after {
  color: #fff;
  font-size: 42px;
  margin: 0;
  border: none;
}

body #imagelightbox-close {
  background: transparent !important;
  border: none;
  border-radius: 0;
  display: none;
  right: 10px;
  top: 10px;
  width: auto;
  height: auto;
}

body #imagelightbox-loading {background: transparent; box-shadow: none;}
body #imagelightbox-loading div {
  background-color: #f6f6f6;
  animation: imagelightbox-loading 1.5s ease infinite;
}


/* ========== RESPONSIVE ========== */

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
   .vitec-estate-images a { width: 50%; }
   .vitec-estate-list-item { flex-basis: calc(50% - 20px); }
   .estate-latest-list .vitec-estate-list-item { flex-basis: calc(33% - 20px); }
   .vitec-estate > aside { width: 280px; }
   .vitec-estate > main { width: calc(100% - 280px); }

   .vitec-carousel[data-columns-desktop="2"] .glide__bullet:nth-child(even) {
      display: none;
   }
   .vitec-carousel[data-columns-desktop="2"] .glide__bullet--active,
   .vitec-carousel[data-columns-desktop="2"] .glide__bullet--active + .glide__bullet {
      background-color: rgb(39, 39, 39);
   }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
   .vitec-estate-images a { width: 33%; }
   .vitec-budid-active { width: 150px; height: 150px;}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
   .vitec-estate-images a { width: 25%; }
}

@media (max-width: 767px) {
   .energy-class-wrapper { max-width: 100%; }
   .vitec-estate-area-text { flex-basis: 100%;}
   .vitec-estate-area-images { flex-basis: 100%; padding-right: 0px; }
   .vitec-estate-images-excerpt { height:230px;}
   .vitec-estate-images-excerpt-showall { font-size: 0; }
   .vitec-estate-images-excerpt-showall:after {
      content: attr(data-imagecountextra);
      font-size: 30px;
   }

   .vitec-estate-object-is-sold {
      padding-top: 160px;
      text-align: center;
   }
}

.vitec-estate-building h3,
.vitec-estate-main-information-economy h3:first-child { display: none;}


/* ============================================================
 * Merged from divi-child/vitec.css to keep elementor parity.
 * Sections below were missing from this child theme.
 * ============================================================ */

/* Reco */
.reco-rating-icon {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMy43LjIgKDI4Mjc2KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5GdWxsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IkJhbGxzIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iRnVsbCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAsNTAgQzEwMCw3Ny42MTUwNDEgNzcuNjEzODc4NCwxMDAgNDkuOTk3NDAzLDEwMCBDMjIuMzg2MTIxNiwxMDAgMCw3Ny42MTUwNDEgMCw1MCBDMCwyMi4zODQ5NTkgMjIuMzg2MTIxNiwwIDQ5Ljk5NzQwMywwIEM3Ny42MTM4Nzg0LDAgMTAwLDIyLjM4NDk1OSAxMDAsNTAiIGlkPSJGaWxsLTEiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAwMDAwMCwgNS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04OS4zMjY0MjE0LDQwLjIxMTQwMTQgQzg3LjEwNTY3MTQsMTguMzEzNDQyMiA2OS41MzEwMjg2LDEuNDk5ODM2NzMgNDcuNTQ1MSwwLjIyNjIzMTI5MyBMNDYuMjEwNjM1NywwLjE1MDcyMTA4OCBMNDYuMjEwNjM1Nyw0MS41OTU3NTUxIEw4OS40Njc0MjE0LDQxLjU5NTc1NTEgTDg5LjMyNjQyMTQsNDAuMjExNDAxNCBaIiBpZD0iRmlsbC00IiBmaWxsPSIjNTFBN0Q4Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDYuMjEwMTMyMSw0NC4yMDg0MDgyIEw0Ni4yMTAxMzIxLDg5LjQ1OTE1NjUgTDQ3LjU0NDU5NjQsODkuMzg4NjgwMyBDNzAuNzY0Mjc1LDg4LjAxOTQyODYgODkuMjMwMjM5Myw2OC43MzkxNTY1IDg5LjU3NzcwMzYsNDUuNDg3MDQ3NiBMODkuNTk3ODQ2NCw0NC4yMDg0MDgyIEw0Ni4yMTAxMzIxLDQ0LjIwODQwODIgWiIgaWQ9IkZpbGwtNiIgZmlsbD0iI0MzREE0QSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuMjEwMzkyODU3LDQ0LjIwODQwODIgTDAuMjMwNTM1NzE0LDQ1LjQ4NzA0NzYgQzAuNTgzMDM1NzE0LDY4LjczOTE1NjUgMTkuMDQ5LDg4LjAxOTQyODYgNDIuMjY4Njc4Niw4OS4zODg2ODAzIEw0My42MDMxNDI5LDg5LjQ1OTE1NjUgTDQzLjYwMzE0MjksNDQuMjA4NDA4MiBMMC4yMTAzOTI4NTcsNDQuMjA4NDA4MiBaIiBpZD0iRmlsbC04IiBmaWxsPSIjRUQyMjgxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDIuMjY4Njc4NiwwLjIyNDcyMTA4OCBDMjAuMjc3NzE0MywxLjQ5ODMyNjUzIDIuNzAzMDcxNDMsMTguMzE2OTY2IDAuNDg3MzU3MTQzLDQwLjIwOTg5MTIgTDAuMzQ2MzU3MTQzLDQxLjU5OTI3ODkgTDQzLjYwMzE0MjksNDEuNTk5Mjc4OSBMNDMuNjAzMTQyOSwwLjE0OTIxMDg4NCBMNDIuMjY4Njc4NiwwLjIyNDcyMTA4OCBaIiBpZD0iRmlsbC0xMCIgZmlsbD0iI0Y5QzYzQyI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
    width: 30px;
    height: 30px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30px;
    display: inline-block;
    margin: 0 10px 0 0;
}
.reco-logo { text-align: center; margin-top: 20px; }
.reco-reviews-container { max-width: 800px; margin: 0 auto;}

.reco-badges-user, .reco-badges-venue {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    text-align: center;
    justify-content: center;
    gap: 20px;
}
.reco-badges-user li, .reco-badges-venue li { display: inline-block; margin-right: 10px; }
.reco-badges-user li img, .reco-badges-venue li img { width: 110px; }

.reco-badges-user .glide__track li { text-align: center; }
.reco-badges-user .glide__track li img { max-width: 100%;}
.reco-badges-user .glide__arrows button { box-shadow: none; color: black; border-color: transparent;}
.reco-badges-user .glide__arrows button.glide__arrow--left { left: 0; translate: -50%; }
.reco-badges-user .glide__arrows button.glide__arrow--right { right: 0; translate: 50%; }


/* MONITOR ESTATES */

.dialog-monitor-estates {
   padding: 25px;
   border-radius: 15px;
   box-shadow: 3px 3px 15px rgba(0,0,0,0.3);
   width: clamp(350px, 870px, 100vw);
   position: fixed;
   left: 0;
   right: 0;
   top: 50%;
   margin: 0 auto;
   z-index: 202;
   background: white;
   pointer-events: none;
   transform: translateY(calc(-50% - 20px));
   opacity: 0;
   transition: all .2s ease-in-out;
   max-height: 100vh;
   overflow-y: auto;
}
.dialog-monitor-estates.show {
   pointer-events: all;
   opacity: 1;
   transform: translateY(-50%);
}

.dialog-monitor-estates-overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: var(--bg-overlay);
  z-index: 201;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease-in-out;
  backdrop-filter: blur(2px);
}
.dialog-monitor-estates-overlay.show {
   pointer-events: all;
   opacity: 1;
}

.vitec-monitor-estate-filter-estatetypes label {
   white-space: nowrap;
    background: #efefef;
    padding: 3px;
    padding-right: 10px;
    border-radius: 4px;
    margin-bottom: 4px;
    display: inline-block;
    width: calc(33% - 2px);
}
#vitec-monitor-estates-filter-column-estatetype-premises-wrapper { display: none;}

.dialog-monitor-estates input[type="text"] {
   border: 0;
    background: #ffffff;
    border: 1px solid #efefef;
    padding: 15px;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 1px;
    border-radius: 0;
    height: auto;
    width: 100%;
}

.vitec-monitor-form-close { cursor: pointer; }
.vitec-monitor-form-close:after {
   content: '×';
   position: absolute;
   right: 0;
   top: 0;
   padding: 20px;
   font-size: 36px;
   color: #505050;
}
.vitec-monitor-form-close:hover:after { color: #000000; }

.vitec-monitor-estates-twosplit {
   display: flex;
   flex-flow: row wrap;
}
.vitec-monitor-estates-twosplit-one {
   width: 50%;
}
.vitec-monitor-estates-twosplit-two {
   margin-left: 30px;
   width: calc(50% - 30px);
}

.vitec-monitor-rangeslider-minmax {
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}
.vitec-monitor-rangeslider-max {
   text-align: right;
}

.vitec-monitor-estate-filter-label {
   text-transform: uppercase;
   font-weight: bold;
   font-size: 12px;
}

.vitec-monitor-user-info-label {
   text-transform: uppercase;
   font-weight: bold;
   font-size: 12px;
}

.vitec-monitor-estates-columns {
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}
.vitec-monitor-estates-column {
   width: calc(50% - 5px);
   padding-bottom: 10px;
}
.vitec-monitor-estates-column-title { display: none; }

.btn-vitec-create-estatemonitor {
   background:rgb(48, 48, 48);
   padding: 15px 40px;
   color: #fff;
   letter-spacing: 0.5px;
   text-transform: uppercase;
   font-size: 16px;
   font-style: normal;
   font-weight: 400;
   border-radius: 30px;
   transition: 0.4s all;
   margin: 0 auto;
   display: inline-block;
   left: 0;
   right: 0;
   margin-top: 20px;
   text-align: center;
   display: block;
}
.btn-vitec-create-estatemonitor>* { display: none;}
.btn-vitec-create-estatemonitor:not(.loading):not(.accepted):not(.error):hover {
   background: rgb(17, 17, 17);
   transform: translateY(-4px);
   box-shadow: 0px 4px 7px rgb(175, 175, 175);
   cursor: pointer;
}
.btn-vitec-create-estatemonitor:not(.loading):not(.accepted):not(.error) .vitec-estatemonitor-idle { display: inline-block; }
.btn-vitec-create-estatemonitor.loading .vitec-estatemonitor-loading { display: inline-block;}
.btn-vitec-create-estatemonitor.error .vitec-estatemonitor-error { display: inline-block;}
.btn-vitec-create-estatemonitor.accepted .vitec-estatemonitor-accepted { display: inline-block;}

.btn-vitec-create-estatemonitor.loading { background: #576f85; }
.btn-vitec-create-estatemonitor.accepted { background: #3e9e76; }
.btn-vitec-create-estatemonitor.error { background: #cd5757; }

.vitec-monitor-estates-column.error input { border: 1px solid #cd5757; }
#divMonitorEstates_GDPR_wrapper.error { border: 1px solid #cd5757; }
#vitec-monitor-estates-filter-municipality.error { border: 1px solid #cd5757; }
#vitec-monitor-estates-filter-county.error { border: 1px solid #cd5757; }

#vitec-monitor-estates-errors>div {
   background: #cd5757;
   display: block;
   padding: 10px;
   color: #ffffff;
   margin-top: 10px;
   margin-bottom: 10px;
}
#vitec-monitor-estates-errors>div:before {
   content: '⚠️';
   margin-right: 10px;
}
#vitec-monitor-estates-errors>div:not(.vitec-show) { display: none; }

.dialog-monitor-estates .noUi-target { margin: 5px;}

.vitec-monitor-estates-sliders {
   margin-top: 20px;
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}
.vitec-monitor-estates-sliders>div {
   width: clamp(200px, calc(50% - 20px), 700px);
}
.vitec-monitor-estates-filter-column-estatetype-wrapper { margin-top: 20px;}

.vitec-monitor-rangeslider-plotarea-max:after { content: ' kvm'; }
.vitec-monitor-rangeslider-livingspace-max:after { content: ' kvm'; }
.vitec-monitor-rangeslider-price-max:after { content: ' kr'; }
.vitec-monitor-rangeslider-rooms-max:after { content: ' st'; }


/* USER CONTACT FORM */

.vitec-user-contactform-fields {
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}
.vitec-user-contactform-fields input[type="text"] {
   flex-basis: calc(50% - 5px);
   margin-bottom: 5px;
   text-transform: uppercase;
   padding: 15px;
   color: #000000;
   max-width: 100%;
}
.vitec-user-contactform-fields input[type="text"]::placeholder {
   color: rgb(146, 146, 146);
}

.vitec-user-contactform-submit {
   display: block;
   width: 100%;
   padding: 15px;
   color: #000;
   text-transform: uppercase;
   letter-spacing: 1px;
   border: 2px solid #fff;
   background-color: #ececec;
   transition: 0.4s all;
   cursor: pointer;
   text-align: center;
}
.vitec-user-contactform-submit:hover, .vitec-user-contactform-submit:focus, .vitec-user-contactform-submit:active {
   background-color: #e2e2e2;
   border-color: #4b4b4b
}
.vitec-user-contactform-fields input[type=text].vitec-red {
   border: 1px solid #a80000;
}

.vitec-user-contactform-integritycheck-wrapper {
   border: 1px solid transparent;
   padding: 15px 15px 15px 0px;
   display: inline-block;
}
.vitec-user-contactform-integritycheck-wrapper.vitec-red {
   border: 1px solid #a80000;
}

.vitec-user-contactform-errors {
   padding: 30px 0px;
}
.vitec-user-contactform-errors>div {
   background: #f3dfdf;
   padding: 10px;
   border-left: 3px solid #a80000;
   margin: 0 0px 10px 0px;
   color: #500000;
   max-height: 100px;
   opacity: 1;
   transition: all 0.3s ease-in-out;
}
.vitec-user-contactform-errors>div.hidden {
   opacity: 0;
   max-height: 0;
   overflow: hidden;
}

.vitec-user-contactform-loading {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   text-align: center;
   padding-top: 10px;
   background: #ececec;
}

.vitec-user-contactform-thanks {
   background: #c2ebc6;
   padding: 10px;
   border-left: 3px solid #00a82a;
   margin: 0 0px 10px 0px;
   color: #005014;
   display: block;
   max-height: 100px;
   opacity: 1;
   transition: all 0.3s ease-in-out;
}
.vitec-user-contactform-thanks:before {
   content: '✔️';
   display: inline-block;
   margin-right: 6px;
}
.vitec-user-contactform-thanks.hidden { opacity: 0; max-height: 0; overflow: hidden; display: none;}

.vitec-user-contactform-hp98467, .vitec-user-contactform-hp45874, .vitec-user-contactform-hp48767
{ display: none !important;}


/* Vitec Search */
input[type="text"].vitec-search {
   border-radius: 3px;
   border: 1px solid rgba(0, 0, 0, 0.3);
   padding: 8px 15px;
   padding-left: 34px;
   color: rgb(53, 53, 53);
   transition: 0.4s all;
   width: 250px;
   max-width: 250px;
}
input[type="text"].vitec-search:active,
input[type="text"].vitec-search:focus {
   background-color: #fff;
   color: #000;
   width: 100%;
   max-width: 360px;
   box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
}

.vitec-search-wrapper-results {
   width: 360px;
   box-shadow: 2px 2px 12px 0px rgb(0 0 0 / 20%);
   border-radius: 5px;
   padding: 5px;
   min-height: 50px;
   transition: min-height 500ms ease-in-out;
   position: absolute;
   background: white;
   z-index: 3;
   margin-top: 5px;
}
.vitec-search-wrapper-results>.vitec-results>a {
   display: block;
   padding: 8px 10px;
   border-bottom: 1px solid #f1f1f1;
}
.vitec-search-wrapper-results>.vitec-results>a:last-child {
   border-bottom: 0;
}
.vitec-search-wrapper-results>.vitec-results>a:hover {
   background: #f1f1f1;
}
.vitec-search-loader {
   display: flex;
   justify-content: flex-end;
   opacity: 0.4;
   position: absolute;
   width: 350px;
}
.vitec-search-noresults {
   display: block;
   text-align: center;
   padding: 8px 10px;
}
.vitec-search-wrapper-results.vitec-hide {
   opacity: 0;
   min-height: 0;
}

.vitec-search-input {
   position: relative;
   opacity: 0.3;
   transition: opacity 300ms ease-in-out;
}
.vitec-search-input:focus-within {
   opacity: 0.7;
}
.vitec-search-input:before {
   content: '';
   background-image: url('../img/search.svg');
   width: 20px;
   height: 20px;
   position: absolute;
   top: 8px;
   left: 8px;
}

.vitec-page-results>a {
   display: block;
   padding: 10px;
   box-shadow: 0px 0px 3px 0px rgb(0 0 0 / 10%);
   margin-bottom: 6px;
   border-radius: 3px;
}
.vitec-page-results>a:hover {
   background: #fbfbfb;
}

.vitec-page-results-navigation-pages {
   display: flex;
   flex-flow: row wrap;
   justify-content: center;
}
.vitec-page-results-navigation-pages>* {
   padding: 5px 10px;
   background: #eaeaea;
   margin: 3px;
}
.vitec-page-results-navigation-pages>a.active,
.vitec-page-results-navigation-pages>a:hover { background: #2b2b2b; color: #ffffff;}
.vitec-page-results-navigation-pages>span { opacity: 0.3;}


/* Animations (lds-dual-ring-small) */
.lds-dual-ring-small {
  display: inline-block;
  width: 17px;
  height: 17px;
}
.lds-dual-ring-small:after {
  content: " ";
  display: block;
  width: 14px;
  height: 14px;
  margin: 2px;
  border-radius: 50%;
  border: 4px solid #fff;
  border-color: #fff transparent #fff transparent;
  animation: lds-dual-ring-small 1.2s linear infinite;
}
@keyframes lds-dual-ring-small {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* Estate Sold — full version (adds background-image + sidebar offset).
 * Cascades after the earlier Estate Sold rule to add the missing properties. */
.vitec-estate-object-is-sold {
   padding-left: 280px;
   background-image: url(../img/house.png);
   background-repeat: no-repeat;
   background-position: left center;
   background-size: 260px;
}


/* Additional responsive rules from divi-child */
@media (max-width: 767px) {
   .sticky.vitec-menu-fixed { top: 0; }
   .vitec-monitor-estates-sliders>div { width: 100%; }
   .vitec-monitor-estate-filter-estatetypes label { width: calc(50% - 2px); }

   .vitec-estate-object-is-sold {
      background-position: top center;
      padding-left: 20px;
   }
}

@media (max-width: 991px) {
   .vitec-monitor-estates-twosplit-one { width: 100%; }
   .vitec-monitor-estates-twosplit-two { margin-left: 0px; width: 100%; }
}


#vitec-youtube span { display: none; }


/* Hide stale CDN placeholder images */
.vitec-estate-user-imagewrapper img[src="https://vitec.ready-cdn.se//Images/300x500c/"] { display: none; }


/* Force any direct section under vitec-estate to clear preceding floats so
 * blocks after main/aside (e.g. Map) don't wrap around them. */
.vitec-estate > section {
   clear: both;
   width: 100%;
   box-sizing: border-box;
}


/* Polished accordion for main-information sections (override the bare +/- look). */
.vitec-estate-main-information section {
   box-shadow: none;
   margin: 0 0 10px 0;
   padding: 0;
   position: relative;
   border: 1px solid rgba(0,0,0,0.08);
   border-radius: 4px;
   background: #fff;
   overflow: hidden;
   max-height: 5000px;
   transition: max-height 0.35s ease;
}

.vitec-estate-main-information section.closed {
   max-height: 52px;
   height: auto;
}

.vitec-estate-main-information section > h3 {
   margin: 0;
   padding: 16px 56px 16px 20px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: #222;
   background: #fafafa;
   border-bottom: 1px solid rgba(0,0,0,0.06);
   line-height: 20px;
}

.vitec-estate-main-information section.closed > h3 {
   border-bottom-color: transparent;
}

.vitec-estate-main-information section > .vitec-estate-key-value-pair,
.vitec-estate-main-information section > p,
.vitec-estate-main-information section > .energy-class-wrapper {
   padding-left: 20px;
   padding-right: 20px;
}

.vitec-estate-main-information section > .vitec-estate-key-value-pair:first-of-type {
   padding-top: 14px;
}

.vitec-estate-main-information section > .vitec-estate-key-value-pair:last-of-type {
   padding-bottom: 16px;
}

/* Clickable toggle: covers the entire 52px h3 row, big hit area. */
.vitec-estate-main-information section > .vitec-toggle-read-more {
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 52px;
   cursor: pointer;
   z-index: 2;
   font-size: 0;
   background: transparent;
   transition: background 0.2s ease;
}

.vitec-estate-main-information section > .vitec-toggle-read-more:hover {
   background: rgba(0,0,0,0.04);
}

/* Override the old "-"/"+" text content rules. */
.vitec-estate-main-information section > .vitec-toggle-read-more:before {
   content: '';
   position: absolute;
   right: 22px;
   top: 50%;
   width: 8px;
   height: 8px;
   border-right: 2px solid #555;
   border-bottom: 2px solid #555;
   transform: translateY(-75%) rotate(45deg);
   transition: transform 0.3s ease;
   margin: 0;
}

.vitec-estate-main-information section.closed > .vitec-toggle-read-more:before {
   transform: translateY(-25%) rotate(-45deg);
   content: '';
}
