h1,h2,h3 {
    margin: 0;
    padding: 0
}

.section_title {
    width: 100%;
    text-align: center;
    font-size: 20px;
    color: #555;
    font-weight: 700;
    padding: 0 10px;
    padding: 26px 0 26px 0
}

.home_block_title {
    width: 100%;
    text-align: center;
    font-size: 20px;
    color: #555;
    font-weight: 700;
    padding: 0 10px;
    padding: 26px 0 26px 0
}

#city_container ul.city_container_static_content {
    display: none;
    margin: 0 auto 26px;
    width: 230px
}

#city_container ul.city_container_static_content li .city_container_static_content_icon {
    width: 36px
}

#city_container ul.city_container_static_content li #city {
    font-size: 20px;
    font-weight: 700;
    color: #f00f88
}

#map-block {
    margin-top: 0;
    position: relative
}

#map-block #map_preloader {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 10;
    height: 40vh;
    background-color: rgba(255,255,255,0);
    display: none
}

#map-block #map_preloader>div {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 55px;
    height: 41px;
    color: #777
}

#map-block #mappa {
    height: 40vh;
    padding: 0;
    z-index: 0
}

#map-block #mappa .map-background-nogeo {
    background-size: cover;
    width: 100%;
    height: 100%
}

#map-block #mappa .map-background-nogeo:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255,255,255,.76)
}

#map-block #mappa .geolocation {
    cursor: pointer
}

#map-block #user-location-button {
    position: absolute;
    opacity: .9;
    right: 2rem;
    bottom: 4rem;
    box-shadow: none;
    border-radius: 4px;
    border: 2px solid rgba(0,0,0,.2);
    background: #eee;
    width: 40px;
    height: 40px;
    text-align: center;
    font-size: 25px;
    cursor: pointer;
    padding: 7px
}

#map-block #user-location-button:hover {
    opacity: 1;
    background: #f4f4f4
}

#map-block #open-map {
    display: none
}

.nopadding-mobile {
    padding: 0!important;
    margin: 0!important
}

@media (min-width: 768px) {
    .nopadding-mobile {
        margin:0 auto!important
    }
}

#premium-mobile-carousel {
    margin-bottom: 23px
}

#premium-mobile-carousel .content {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.premium-services-home {
    margin-top: 40px!important
}

.premium-services-home .premium-services-title {
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 16px
}

.premium-services-home .left {
    display: none;
    left: 3rem
}

.premium-card {
    width: 90%;
    display: inline-block;
    margin: 0 10px 0 0;
    color: #5c5c5c;
    margin-top: 0;
    text-align: center;
    position: relative
}

@media (min-width: 360px) {
    .premium-card {
        width:80%
    }
}

@media (min-width: 768px) {
    .premium-card {
        width:30%
    }
}

.premium-card div {
    padding-bottom: calc(20 / 35 * 100%)
}

.premium-card div img {
    position: absolute;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.ending {
    color: #777
}

.ending .province div {
    width: 50%;
    float: left
}

.ending .province div:first-child {
    text-align: right;
    padding-right: .5rem
}

.ending .province div:last-child {
    text-align: left;
    padding-left: .5rem
}

.nogeo {
    position: relative;
    width: 100%;
    background-size: cover;
    height: 300px;
    z-index: 1
}

@media (min-width: 768px) {
    .nogeo {
        height:535px
    }
}

.nogeo:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255,255,255,.7)
}

.nogeo .localization-text {
    position: relative;
    float: left;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
    padding: 0 5px;
    font-size: 16px;
    color: #f00f88;
    font-weight: 700
}

.nogeo .geo-icon img {
    max-width: 40px;
    padding-bottom: 2rem
}

#premium-mobile-geo .description {
    padding: 1rem 2rem;
    text-align: center
}

#premium-mobile-geo .escort-rating {
    padding-top: 0;
    float: right;
    margin: 0
}

#premium-mobile-geo td {
    border-width: 0;
    width: 50%;
    padding: 0 1rem
}

.cat-buttons-title {
    width: 100%;
    text-align: center;
    padding: 0 10px 0 10px;
    font-size: 20px;
    color: #555;
    font-weight: 700;
    margin: 26px 0 25px 0
}

.cat-buttons-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap
}

.cat-buttons-container>.button i {
    font-size: 25px
}

.cat-buttons-container>.button {
    height: 65px;
    text-align: center;
    margin: 5px 5px;
    flex-basis: 44%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    position: relative
}

@media only screen and (min-width: 375px) {
    .cat-buttons-container>.button {
        flex-basis:30%
    }
}

.selected_button {
    color: #fff;
    background-color: #f00f88;
    border: none
}

.selected_button:active,.selected_button:hover,.selected_button:visited {
    color: #fff
}

.normal_button {
    color: #555;
    border: 2px solid #eee
}

.normal_button:active,.normal_button:hover,.normal_button:visited {
    color: #555
}

.selected {
    color: #f00f88;
    background: #fff
}

.not_selected {
    color: #fff;
    background: #f00f88
}

@media only screen and (min-width: 1024px) {
    .cat-buttons-container>.button {
        flex-basis:15%
    }
}

.cta_premium_container {
    padding: 20px 10px;
    text-align: center
}

.cta_premium_title {
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    color: #f00f88;
    font-weight: 700;
    margin-top: 30px
}

.cta_premium_subtitle {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    margin-top: 12px;
    margin-bottom: 21px
}

.cta_premium {
    margin-top: 15px
}

@media only screen and (min-width: 768px) {
    .cta_premium_container {
        padding:20px 50px
    }
}

/* CUSTOM */
.carousel-container {
            max-width: 900px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .carousel-inner > .item > img {
            width: 100%;
            height: 500px;
            object-fit: cover;
        }
        .carousel-caption {
            background: rgba(0,0,0,0.8);
            padding: 20px;
            border-radius: 5px;
            bottom: 20px;
            left: 20px;
            right: 20px;
        }
        .user-info {
            text-align: left;
        }
        .user-info h3 {
            margin-top: 0;
            font-weight: bold;
        }
        .rating {
            color: #ffc107;
            font-size: 18px;
            margin: 10px 0;
        }
        .rating .rating-value {
            color: white;
            font-weight: bold;
        }
        .location, .phone {
            color: #ddd;
            margin: 8px 0;
            font-size: 14px;
        }
        .price-badge {
            position: absolute;
            top: 20px;
            right: 35px;
            background: #5cb85c;
            color: white;
            padding: 10px 20px;
            border-radius: 5px;
            font-weight: bold;
            font-size: 18px;
            z-index: 10;
        }
        .category-badge {
            position: absolute;
            top: 20px;
            left: 35px;
            background: #337ab7;
            color: white;
            padding: 8px 15px;
            border-radius: 5px;
            font-size: 14px;
            z-index: 10;
        }
        .carousel-control {
            background: none;
        }
        .carousel-control.left,
        .carousel-control.right {
            background-image: none;
        }
        .new-badge {
            background: #d9534f;
            color: white;
            padding: 5px 10px;
            border-radius: 3px;
            font-size: 12px;
            margin-left: 10px;
            font-weight: bold;
        }

        .padding-xs { padding: .25em; }
        .padding-sm { padding: .5em; }
        .padding-md { padding: 1em; }
        .padding-lg { padding: 1.5em; }
        .padding-xl { padding: 3em; }

        .padding-x-xs { padding: .25em 0; }
        .padding-x-sm { padding: .5em 0; }
        .padding-x-md { padding: 1em 0; }
        .padding-x-lg { padding: 1.5em 0; }
        .padding-x-xl { padding: 3em 0; }

        .padding-y-xs { padding: 0 .25em; }
        .padding-y-sm { padding: 0 .5em; }
        .padding-y-md { padding: 0 1em; }
        .padding-y-lg { padding: 0 1.5em; }
        .padding-y-xl { padding: 0 3em; }

        .padding-top-xs { padding-top: .25em; }
        .padding-top-sm { padding-top: .5em; }
        .padding-top-md { padding-top: 1em; }
        .padding-top-lg { padding-top: 1.5em; }
        .padding-top-xl { padding-top: 3em; }

        .padding-right-xs { padding-right: .25em; }
        .padding-right-sm { padding-right: .5em; }
        .padding-right-md { padding-right: 1em; }
        .padding-right-lg { padding-right: 1.5em; }
        .padding-right-xl { padding-right: 3em; }

        .padding-bottom-xs { padding-bottom: .25em; }
        .padding-bottom-sm { padding-bottom: .5em; }
        .padding-bottom-md { padding-bottom: 1em!important; }
        .padding-bottom-lg { padding-bottom: 1.5em; }
        .padding-bottom-xl { padding-bottom: 3em; }

        .padding-left-xs { padding-left: .25em; }
        .padding-left-sm { padding-left: .5em; }
        .padding-left-md { padding-left: 1em; }
        .padding-left-lg { padding-left: 1.5em; }
        .padding-left-xl { padding-left: 3em; }

        .margin-xs { margin: .25em; }
        .margin-sm { margin: .5em; }
        .margin-md { margin: 1em; }
        .margin-lg { margin: 1.5em; }
        .margin-xl { margin: 3em; }

        .margin-x-xs { margin: .25em 0; }
        .margin-x-sm { margin: .5em 0; }
        .margin-x-md { margin: 1em 0; }
        .margin-x-lg { margin: 1.5em 0; }
        .margin-x-xl { margin: 3em 0; }

        .margin-y-xs { margin: 0 .25em; }
        .margin-y-sm { margin: 0 .5em; }
        .margin-y-md { margin: 0 1em; }
        .margin-y-lg { margin: 0 1.5em; }
        .margin-y-xl { margin: 0 3em; }

        .margin-top-xs { margin-top: .25em; }
        .margin-top-sm { margin-top: .5em; }
        .margin-top-md { margin-top: 1em; }
        .margin-top-lg { margin-top: 1.5em; }
        .margin-top-xl { margin-top: 3em; }

        .margin-right-xs { margin-right: .25em; }
        .margin-right-sm { margin-right: .5em; }
        .margin-right-md { margin-right: 1em; }
        .margin-right-lg { margin-right: 1.5em; }
        .margin-right-xl { margin-right: 3em; }

        .margin-bottom-xs { margin-bottom: .25em; }
        .margin-bottom-sm { margin-bottom: .5em; }
        .margin-bottom-md { margin-bottom: 1em; }
        .margin-bottom-lg { margin-bottom: 1.5em; }
        .margin-bottom-xl { margin-bottom: 3em; }

        .margin-left-xs { margin-left: .25em; }
        .margin-left-sm { margin-left: .5em; }
        .margin-left-md { margin-left: 1em; }
        .margin-left-lg { margin-left: 1.5em; }
        .margin-left-xl { margin-left: 3em; }

        #mobile_main_menu li  { float: none!important; }

/* CUSTOM */