<style>


        body.no-scroll {
    overflow: hidden;
}
        a {
            text-decoration: none;
            color: inherit;
        }

        #fullscreen-viewer {
            display: none;
        }

        #fullscreen-viewer.active {
            display: flex;
            
        }

        .swiper-container {
            overflow: hidden;
        }

        .section background: #fff;
        font-size: 12px;
        }

        .sub_section {
            padding: 0 10px;
            margin: 0px;
        }

        .d-flex.justify-content-center.roundedcontainer {
            background: #fff;
            width: auto;
            margin: 0 auto;
            padding: 10px;
            border-radius: 50px;
            border: 1px solid #dadada;
        }

        .btn.rounded {
            background: #fff;
            border-radius: 30px !important;
            filter: drop-shadow(1px 3px 4px #dadada);
        }

        .swiper-pagination {
            position: relative;
            text-align: center;
            transition: .3s opacity;
            transform: translate3d(0, 0, 0);
            z-index: 10;
            top: -30px !important;
        }

        span.swiper-pagination-bullet.swiper-pagination-bullet-active {
            background: #fff;
        }

        .swiper-button-next:after {
            content: 'next';
            font-size: 10px;
        }

        .swiper-button-prev:after {
            content: 'prev';
            font-size: 10px;
        }

        .fullscreen-viewer {
    padding-top:0px;
    left: 0;
    width: 100%;
    background: rgb(244 244 244);
    z-index: 9999;
    display: none;
    flex-direction: column;
    position:relative;
}

        .fullscreen-viewer.active {
            display: inline-block;
            
        }

        

        .fullscreen-swiper {
            flex-grow: 1;
            width: 100%;
            height: 100%;
        }

        .swiper-slide {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
        }

        .swiper-slide img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

.bg-image {
    height: 45vh;
    background-size: cover;
    background-position: center center;
    cursor: pointer;
    min-height: 440px;
}

        /*.mainContainer { padding: 0.5rem;} */
        .container.fullwidth {
            max-width: 100%;
            background: #fff;
            padding: unset;
        }

        .menu {
            border-top: 1px solid #dadada;
            border-bottom: 1px solid #dadada;
            padding: 17px;
            text-transform: uppercase;
            color: #707070;
        }

        p.small {
            font-size: 10px;
            text-transform: uppercase;
            margin: unset;
        }

        .col-7.address {
            font-size: 14px;
            text-transform: uppercase;
            line-height: 14pt;
        }

        p {
            margin-top: 0;
            margin-bottom: unset;
        }

        .text-primary {
            color: #000 !important;
        }

        .col.features {
            display: block;
            float: left;
            flex: unset;
            width: 100%;
            padding-right: 20px;
        }

        .address {
            text-transform: uppercase;
            line-height: 14px;
            font-size: 12px;
        }

        img.overlay_logo {
            max-width: 100px;
            height: auto;
            z-index: 1000;
            display: block;
        }

        .broker-info {
            padding: 10px;
        }

        .brokerImage {
            height: 70px;
            max-width: 70px;
            background-size: cover;
            width: 70px;
            border-radius: 0px 15px;
        }

        .broker-contact {
            text-transform: uppercase;
            font-size: 12px;
            line-height: 17px;
        }

        .transition-card {
            transition: transform 0.4s ease-in-out;
        }

        .swipe-left {
            transform: translateX(-100%);
        }

        .swipe-right {
            transform: translateX(100%);
        }

        .from-left #property-card {
            animation: slideInFromLeft 0.4s ease-out;
        }

        .from-right #property-card {
            animation: slideInFromRight 0.4s ease-out;
        }

        @keyframes slideInFromLeft {
            from {
                transform: translateX(-100%);
            }

            to {
                transform: translateX(0);
            }
        }

        @keyframes slideInFromRight {
            from {
                transform: translateX(100%);
            }

            to {
                transform: translateX(0);
            }
        }

#property-carousel {
    position: relative;
    width: 100vw;
    overflow-x: hidden;
    text-align: left;
    height: 100%;
}
.swiper-wrapper {
    padding-top: 40px !important;
}

        .navigation {
            position: absolute;
            left: 10px;
            top: 10px;
            z-index: 20;
            width: auto;
        }

        .property-card {
            width: 100vw;
            max-width: 100vw;
            /* By default, all are absolutely positioned (except current, which becomes relative) */
            position: absolute;
            top: 0;
            left: 0;
            /* will-change: transform; */
            transition: transform 0.35s cubic-bezier(.7, -0.28, .53, 1.39);

            z-index: 0;
            /* This ensures that cards fill the viewport for swipe */
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
            overflow: hidden;
            /* Prevents horizontal scrollbars */
        }

        .hero-overlay {

            width: max-content;
            padding: 7px 10px;
            color: #ffffff;
            font-size: 11px;
            font-weight: 400;
            line-height: 16px;
            text-transform: uppercase;
            backdrop-filter: blur(10px);
            border-radius: 0px 0px 20px 20px;
            background: #ffffff4d;
            background-color: #00000017;
            margin: 0 auto;
            position: fixed;
            z-index: 1;
            max-width: 220px;
            text-align: center;
            left: 50%;
            transform: translate(-50%, 0%);
        }

        .quick-actions {
            position: absolute;
            z-index: 5;
            left: 50%;
            transform: translate(-50%, -70%);
            display: inline-flex;
        }

        .property-card-info {
            padding: 30px 20px 20px 20px;
        }

        .property-card.no-scroll {
            overflow-y: hidden !important;
            overscroll-behavior: none;
        }

        /* Current card is always on top, and scrolls vertically */
        .current-card {
            
           background-color:#ffffff;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;

            /* Remove transform so it's at 0vw */
        }

        /* Previous card is left of view */
        .prev-card {
            z-index: 2;
             background:#fff;
            /* No need to change position here, it's set by JS with translateX(-100vw) */
        }

        /* Next card is right of view */
        .next-card {
            z-index: 2;
            background:#fff;
            /* No need to change position here, it's set by JS with translateX(100vw) */
        }

        /* Remove border radius or other styles if your card's content overflows!
@media (max-width: 700px) {
    .property-card { min-height: 100svh; }
    .current-card { min-height: 100svh; }
}*/

        .fullDesc {
            padding: 10px;
        }

        .map {
            padding: 10px;
        }

        .user-interact-round {
            background-color: #ffffff00;
            border-radius: 39px;
            height: 40px;
            width: 40px;
            backdrop-filter: blur(5px);
            border: 1px solid #ffff;
            color: #fff;
        }
/* ================================================== */
/* START: NYA STILAR FÖR NAVIGATION                   */
/* ================================================== */
#property-carousel.no-scroll {
    overflow: hidden;
    height: 100vh;
    position: fixed;
    width: 100%;
}
div#menu-overlay {
    float: left;
    width: 100%;
}
#menu-content-area {
    width: 95%;
    margin: 0 auto;
}
#property-carousel.no-scroll {
  overflow: hidden;
  height: 100vh;              /* låser höjden */
  position: fixed;            /* hindrar iOS från att "smita" */
  width: 100%;                /* undvik sidoförskjutningar */
}
.app_header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 10;
  width: 100%;
  border-radius: 0 0 30px 30px;
  padding: 3px 10px 11px 10px;
  filter: drop-shadow(0px 11px 5px #00000026);

  /* ↓ gör headern scrollbar när den blir lång */
  max-height: 90vh;            /* justera vid behov */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;

  /* städa upp */
  display: block;              /* ersätter inline-block */
  /* float: left;  <-- ta bort, har ingen effekt på fixed */
}
div#header-menu {
    float: left;
    display: block;
    width: 15%;
        min-width: 59px;
}
.menuFacts {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    flex-direction: row;
}
div#object-data {
    float: left;
    display: block;
    width: 80%;
}
#main-menu-container {
    z-index: 2000;
    padding-top: env(safe-area-inset-top, 0px); /* iOS safe area */
}

#menu-toggle-btn {
    background: none;
    border: none;
    cursor: pointer;
}

#menu-panel {
    display: none;
    position: relative;
}

#menu-panel.open {
    display: block;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Content tabs */
.menu-tab {
    display: none;
}
.menu-tab.active {
    display: block;
}
button.menu-nav-button {
    border: unset;
    background-color: transparent;
}

div#menu-nav-buttons {
    display: flex
;
    gap: 2%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}


/* ================================================== */
/* END: NYA STILAR FÖR NAVIGATION                     */
/* ================================================== */

    .loginmodal {
    margin-top: 1rem;
    border-radius: 8px;
    display: inline-block;
        width: 100%;
}
.modalBtn {
    background: unset;
    border: unset;
    text-transform: uppercase;
    font-size: 13px;
}
#btnLogin{
    text-decoration: underline;
}
.account_form label {
    float: left;
    width: 100%;
    text-align: left;
    padding: 10px 0px;
}
    label {
    display: inline-block;
    float: left;
    text-transform: uppercase;
    font-size: 10px;
}
.account_form input {
    float: left;
    width: 100%;
    border-radius: 26px;
    height: 50px;
    border: 1px solid #d7d7d7;
    padding: 15px 20px 15px 20px;
    margin: 10px 0px;
}

.account_form button {
    float: left;
    margin: 30px 0px 5px 0px;
    background-color: #515151;
    border-radius: 40px;
    padding: 11px;
    text-transform: uppercase;
    border: 1px solid #dadada;
    font-size: 13px;
    color: #ffffff;
    transition: background-color 0.3s ease;
}
.account_form button:hover {
background-color:#d7d7d7;
color: #000000;
}
.container.liked {
    padding: 20px 00px 0px 0px;
}
.card.propertyTile {
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    display: block;
    max-width: 100%;
}
.card-small-img {
    width: 110px;
    background-size: cover;
    background-position: center center;
    display: block;
    float: left;
    height: 110px;
    margin-right: 13px;
}
p.menuHeading {
    font-size: 10pt;
    text-transform: uppercase;
    font-weight: 300;
    text-align: left;
    margin: 0px 0px 10px;
}
.preferences {
    padding-top: 20px;
}
button.menu-option.logout {
    position: absolute;
    left: 50px;
}
.listEye{
    display: inline-flex;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    width: 50%;
    height: 100%;
    opacity: 10.5;
    flex-direction: row;
    flex-wrap: nowrap;
    fill: #ffffffbd;
}
button.btn.btn-sm.btn-outline-danger.remove-btn {
    background-color: #ff4439;
    color: #fff;
    text-transform: uppercase;
    float: right;
}
button.btn.btn-sm.btn-outline-danger.remove-btn:hover {
    background-color:#ff6161;
}

a.btn.btn-sm.btn-outline-primary {
    padding: 0.25rem 0.5rem;
    background-color: #525252;
    color: #fff;
    border: #525252;
}
a.btn.btn-sm.btn-outline-primary:hover {
    background-color: #707070;

}
.menu-option img {
   
}
.navigation-container.expanded .menu-toggle {
    filter: invert(1);
}
button#saved {
    left: 50px;
}
.match-popup {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.match-popup-inner {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    text-align: center;
    max-width: 320px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.signinBtn {
    float: left;
    display: block;
    margin: 20px 0px 0px 0px;
    width: 100%;
}
.signinBtn a {
    background-color: #fa8181;
    color: #fff;
    padding: 15px;
    border-radius: 50px;
    text-transform: uppercase;
    margin-top: 10px;
    display: block;
    width: auto;
    font-size: 11px;
    float: left;
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
    font-size: 15px;
}
.modal {
z-index:10000;
}
bigtitle {
    font-size: 15pt;
    text-transform: uppercase;
}

.adminContainer {
    z-index: 30000;
    width: 130px;
    height: auto;
    border-radius: 40px;
    padding: 20px;
    right: 0px;
    top: 10vh;
    display: flex;
    flex-direction: column;
    background-color: #8d8d8d8c;
    position: absolute;
}
.adminContainer a {
    padding: 10px 0px;
    color: #fff;
    text-transform: uppercase;
}
.fullDesc.publictransport {
    float: left;
    display: block;
    width: 100%;
    padding: 10px 0px 0px 0px;
}
.col.listitems.sl {
    width: 100%;
    float: left;
}
span.travel-time {
    text-transform: lowercase;
}

/* Exempel: toppmeny */
body.webapp.iphone #main-menu-container {
  top: 40px!important;
}
body.webapp.iphone .close-fullscreen {
top: 45px!important;
    
}
/* body.webapp.iphone */
body.webapp.iphone .hero-overlay {
    min-height:88px;
    padding-top:5px;
    border-radius: 22px 22px 15px 15px;;
    z-index: 100;
    top:10px;
    display: flex;
    align-content: flex-end;
    flex-direction: column;
    justify-content: flex-end;
    width: 132px;
    font-size:9px;
    box-shadow: 1px 2px 10px #0000003b;
    box-sizing: border-box;
    border: 2px solid #ffffff1f;
}

/*body.webapp.iphone .phoneStatusBar {
        background: #ffffff4d;
    background-color: #00000017;
    height: 66px;
    width: 100%;
    display: block;
    position: fixed;
    z-index: 0;
    top: 0;
    left: 0;
    backdrop-filter: blur(10px);
    display:none;
} */

body.start {
    background-image: url(background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* Splash specfic */ 
.splashscreen {
    
    height: 100%;
    overflow: hidden;
    display: flex;
    min-height:unset;
    justify-content: center;
    flex-direction: column;
}

.splashscreen .loginmodal {
    background-color: #ffffff99;
    backdrop-filter: blur(6px);
    max-width: 350px;
    border-radius: 19px;
    padding: 20px;
}
.contentContainer {
    overflow-y: scroll;
    height: 100%;
    display: flex;
    overflow-y: scroll;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding:20px;
    
}
.splashscreen input {
    border-radius: 14px;
   
}
.preferenceContrainer {
   max-width: 400px;
    padding:20px;
    border-radius: 19px;
     background-color: #ffffff99;
    backdrop-filter: blur(6px);
}
.splashscreen .user-preferences {
    float: unset;
    height: 100%;
    display: flex;
}

h2 {
    font-size:20pt!important;
}
.loginmenu {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.swipechoose {
    text-align: center;
    color: #fff;
    margin: 10pt;
}
.swipestylebutton {
    border-radius: 20px;
    height: 20px;
        backdrop-filter: blur(7px);
    color: #ffffff;
    margin: 0 auto;
    display: flex;
    padding: 20px;
    align-items: center;
    width: 140px;
    justify-content: center;
    align-content: space-between;
    border: 1px solid #eaeaea;
    backdrop-filter: drop-shadow(2px 4px 6px black);
    text-transform: uppercase;
    font-weight: 400;
}
.swipestylebutton.wide {
    margin: 4rem 0rem 0rem 0rem;
    width: 240px;
    bottom: 20px;
    backdrop-filter: blur(8px);
    background-color: unset;
    font-weight: 400;
}
.splashscreen .mb-4 {
    float: left;
    display: block;
    width: 100%;
}
.poi-row.d-flex.flex-column.mb-2 {
    display: flex!important;
    flex-direction: row!important;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: flex-end;
    align-items: stretch;
    gap: 5px;
}
.signout {
    background: #0000008c;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 5px;
    cursor: pointer;
    height: 42px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    width: 100px;
    color: #fff;
    text-transform: uppercase;
    float: right;
    position: absolute;
    right: 15px;
    top: 15px;
}


.fullscreen-image-container {
    background-color: #f4f4f4;
    display: inline-block;
    position: relative;
        padding-top: 40px;
}
.fullscreen-image-container img {
    min-width: 100%;
    overflow: auto !important;
    height: auto !important;
    width: 100vw;
    padding: 5px 10px;
    position: relative;
    display: block;
    float: left;
}
.close-fullscreen {
    position: sticky;
    top: 35px;
    left: 88%;
    background: none;
    font-size: 20px;
    color: #ff6161;
    z-index: 10000;
    cursor: pointer;
    border: 3px solid #e5e5e5;
    backdrop-filter: blur(6px);
    border-radius: 30px;
    height: 38px;
    width: 38px;
    padding: 0px 0px 3px 0px;
    display: block;
}
#queue-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.65);
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 9999;
  color: #fff;
  text-align: center;
}
#queue-overlay .overlay-content p {
  margin-top: 1rem;
  font-size: 1rem;
}
.card-loader {
    position: absolute;
    inset: 0;
    height:100%;
    background: rgba(255,255,255,1);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    align-content: flex-start;
    z-index: 10;
}
    </style>