.steps {
    border-bottom: #ededeb
}

.steps .row>div:nth-child(2n) .step {
    background-image: linear-gradient(-45deg, #58d9da, #1bcbcd);
    border-radius: 8px;
    box-shadow: 0 40px 30px -40px #1bcbcd
}

.steps .row>div:nth-child(2n) .step h3,
.steps .row>div:nth-child(2n) .step p,
.steps .row>div:nth-child(2n) .step span {
    color: #fff
}

.steps .row>div:nth-child(2n) .step .round {
    border-color: #fff
}

.steps .step {
    padding: 90px 30px;
    text-align: center
}

@media (max-width:991.98px) {
    .steps .step {
        padding-bottom: 35px;
        padding-top: 35px
    }
}

.steps .round {
    align-items: center;
    border: 1px solid #000;
    border-radius: 30px;
    display: inline-flex;
    font-size: 24px;
    height: 40px;
    justify-content: center;
    margin-bottom: 15px;
    width: 40px
}

.steps .step_title {
    font-size: 24px;
    font-weight: 500;
    min-height: 60px
}

.faq_question:not(:last-child) {
    border-bottom: 1px solid #e5e5e5
}

.faq_question button {
    background: none;
    border: none;
    cursor: pointer;
    display: block;
    font-size: 20px;
    font-weight: 500;
    padding: 40px 100px 45px 0;
    text-align: left;
    width: 100%
}

@media (max-width:991.98px) {
    .faq_question button {
        font-size: 18px;
        padding-right: 25px
    }
}

.faq_question button:before {
    height: 15px;
    left: auto;
    right: 0;
    top: calc(50% - 10px);
    transition: transform .2s;
    width: 15px
}

.faq_question button[aria-expanded=true]:before {
    transform: rotate(90deg)
}

.faq_question ul li {
    color: #919191;
    font-size: 16px;
    line-height: 20px;
    margin: 0 0 5px 20px
}

.faq_question .faq_question_content {
    padding: 0 40px 60px
}

.faq_question p {
    color: #919191;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 0
}

.faq_question a {
    color: #2d9b9c;
    text-decoration: underline
}

.listing_text {
    column-count: 2;
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-gap: 120px;
    -moz-column-gap: 120px;
    -webkit-column-gap: 120px
}

.listing_text h3,
.listing_text li,
.listing_text p {
    line-height: 24px;
    margin-bottom: 20px
}

.listing_text ul {
    margin-bottom: 20px
}

.listing_text ul li {
    margin-bottom: 10px
}

@media (min-width:768px) {
    .listing_text p:last-child {
        margin-bottom: 0
    }
}

@media (max-width:991.98px) {
    .listing_text {
        column-gap: 85px;
        -moz-column-gap: 85px;
        -webkit-column-gap: 85px
    }
}

@media (max-width:767.98px) {
    .listing_text {
        column-count: 1;
        -moz-column-count: 1;
        -webkit-column-count: 1
    }
}

.tab-content>.tab-pane {
    display: none
}

.tab-content .active {
    display: block
}

.slick-slider {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.slick-list,
.slick-slider {
    display: block;
    position: relative
}

.slick-list {
    margin: 0;
    overflow: hidden;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translateZ(0)
}

.slick-track {
    display: block;
    left: 0;
    position: relative;
    top: 0
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

@media (max-width:1199.98px) {
    .slick-slide img {
        width: 100%
    }
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    border: 1px solid transparent;
    display: block;
    height: auto
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-dots {
    align-items: center;
    bottom: 0;
    display: flex;
    justify-content: center;
    list-style: none;
    margin: 0;
    position: absolute;
    width: 100%
}

.slick-dots li {
    margin-right: 13px
}

.slick-dots li button {
    background: #7f7f7f;
    border: none;
    border-radius: 14px;
    font-size: 0;
    height: 9px;
    padding: 0;
    width: 9px
}

.slick-dots li.slick-active button {
    background: #fff;
    height: 14px;
    width: 14px
}

.slick-dots.dots-static {
    position: relative
}

.slick-dots.dots-black li.slick-active button {
    background: #000
}

@media (max-width:991.98px) {
    .slick-slide div[class*=col-md] {
        padding: 0
    }
}

.slides_with_margin>.slick-list>.slick-track>.slick-slide {
    margin: 0 10px
}

.slider_arrows>button {
    background: none;
    border: none;
    height: 35px;
    width: 35px
}

.slider_arrows>button:before {
    bottom: 0;
    height: auto;
    left: 0;
    right: 0;
    top: 0;
    width: auto
}

.slick-arrow {
    background: none;
    border: none;
    cursor: pointer;
    height: 30px;
    position: absolute;
    text-indent: -9999px;
    top: calc(50% - 15px);
    width: 30px;
    z-index: 1
}

.slick-arrow.slick-static {
    position: relative
}

.slick-arrow:before {
    background: #000;
    bottom: 0;
    content: "";
    left: 0;
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    right: 0;
    top: 0
}

.slick-arrow.slick-prev {
    left: 15px
}

.slick-arrow.slick-prev:before {
    mask-image: url(/build/prod/images/next2.0da09bcb.svg);
    -webkit-mask-image: url(/build/prod/images/next2.0da09bcb.svg);
    transform: rotate(180deg)
}

.slick-arrow.slick-next {
    right: 15px
}

.slick-arrow.slick-next:before {
    mask-image: url(/build/prod/images/next2.0da09bcb.svg);
    -webkit-mask-image: url(/build/prod/images/next2.0da09bcb.svg)
}

#header_site {
    transition: background-color .2s ease-in-out
}

@media (min-width:992px) {
    #header_site {
        background: transparent
    }
}

@media (max-width:991.98px) {
    body:after {
        content: none
    }
}

@media (min-width:992px) {
    body.scroll #header_site {
        background: #fff
    }
}

h1 {
    font-size: 54px;
    font-weight: 500;
    line-height: 60px;
    margin-bottom: 35px;
    margin-top: 0
}

@media (max-width:991.98px) {
    h1 {
        font-size: 28px;
        line-height: 34px
    }
}

.home_head {
    align-items: center;
    margin-bottom: 100px
}

@media (max-width:991.98px) {
    .home_head {
        margin-bottom: 50px
    }
}

.home_head .intro {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px
}

@media (max-width:991.98px) {
    .home_head .intro {
        font-size: 18px
    }
}

.home_head p {
    margin-bottom: 0
}

.form_search {
    border: 1px solid #f3f3f3;
    border-radius: 8px;
    box-shadow: 0 10px 21px 0 rgba(0, 0, 0, .1);
    margin-bottom: 40px;
    margin-top: 40px
}

.form_inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 10px 15px 10px 40px
}

@media (max-width:991.98px) {
    .form_inner {
        padding-left: 40px
    }
}

.form_inner label {
    display: block;
    width: 100%
}

.form_inner label input {
    border: none;
    font-size: 18px;
    max-width: none;
    padding: 15px;
    width: 100%
}

@media (max-width:991.98px) {
    .form_inner label input {
        font-size: 14px
    }
}

.form_inner button {
    font-size: 18px;
    margin-bottom: 0
}

@media (max-width:991.98px) {
    .form_inner button {
        font-size: 14px
    }
}

.form_inner:before {
    background: #2d9b9c;
    height: 20px;
    left: 10px;
    top: calc(50% - 10px);
    width: 20px
}

.maps {
    padding-left: 25px;
    position: relative
}

.maps .cities {
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 65px;
    position: absolute;
    top: 0
}

.maps .cities a {
    background: none;
    border: none;
    color: #ccebe8;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 25px;
    padding: 0;
    text-align: left
}

.maps .cities a.active {
    color: #fff
}

.maps .pins .icon_pin {
    position: absolute
}

.maps .pins .icon_pin:before {
    background: hsla(0, 0%, 100%, .6)
}

.maps .pins .icon_pin.active:before {
    background: #fff
}

.maps .pins #pin_paris {
    left: 383px;
    top: 248px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_paris {
        left: 331px;
        top: 209px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_paris {
        left: 275px;
        top: 172px
    }
}

.maps .pins #pin_lille {
    left: 416px;
    top: 164px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_lille {
        left: 358px;
        top: 138px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_lille {
        left: 299px;
        top: 110px
    }
}

.maps .pins #pin_lyon {
    bottom: 353px;
    right: 144px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_lyon {
        bottom: 306px;
        right: 128px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_lyon {
        bottom: 261px;
        right: 112px
    }
}

.maps .pins #pin_marseille {
    bottom: 237px;
    right: 130px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_marseille {
        bottom: 206px;
        right: 113px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_marseille {
        bottom: 176px;
        right: 96px
    }
}

.maps .pins #pin_montpellier {
    bottom: 247px;
    right: 188px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_montpellier {
        bottom: 215px;
        right: 162px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_montpellier {
        bottom: 185px;
        right: 136px
    }
}

.maps .pins #pin_toulouse {
    bottom: 249px;
    left: 354px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_toulouse {
        bottom: 216px;
        left: 305px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_toulouse {
        bottom: 184px;
        left: 253px
    }
}

.maps .pins #pin_bordeaux {
    bottom: 308px;
    left: 283px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_bordeaux {
        bottom: 268px;
        left: 244px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_bordeaux {
        bottom: 226px;
        left: 203px
    }
}

.maps .pins #pin_nantes {
    left: 250px;
    top: 333px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_nantes {
        left: 215px;
        top: 283px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_nantes {
        left: 179px;
        top: 229px
    }
}

.maps .pins #pin_angers {
    left: 286px;
    top: 319px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_angers {
        left: 247px;
        top: 270px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_angers {
        left: 206px;
        top: 219px
    }
}

.maps .pins #pin_rennes {
    left: 246px;
    top: 285px
}

@media (max-width:1349.98px) {
    .maps .pins #pin_rennes {
        left: 212px;
        top: 243px
    }
}

@media (max-width:1199.98px) {
    .maps .pins #pin_rennes {
        left: 177px;
        top: 197px
    }
}

.title_section {
    margin-bottom: 80px
}

@media (max-width:991.98px) {
    .title_section {
        margin-bottom: 40px
    }
}

.section {
    padding-bottom: 100px;
    padding-top: 100px
}

.section:not(:last-child) {
    border-bottom: 1px solid #e5e5e5
}

@media (max-width:991.98px) {
    .section {
        padding-bottom: 50px;
        padding-top: 50px !important
    }
}

.types_retirements {
    position: relative;
    text-align: center
}

.types_retirements img {
    border-radius: 8px
}

.types_retirements .btn {
    border-radius: 40px;
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    max-width: 450px;
    padding-left: 40px;
    padding-right: 40px
}

.types_retirements .btn:not(:last-child) {
    margin-right: 35px
}

@media (max-width:1199.98px) {
    .types_retirements .btn {
        font-size: 20px
    }

    .types_retirements .btn:not(:last-child) {
        margin-right: 5px
    }
}

@media (max-width:991.98px) {
    .types_retirements .btn {
        font-size: 16px;
        margin-right: 20px;
        padding-left: 15px;
        padding-right: 15px
    }
}

@media (max-width:767.98px) {
    .types_retirements .btn {
        font-size: 15px;
        margin-bottom: 5px;
        margin-right: 0;
        padding-left: 10px;
        padding-right: 10px
    }
}

@media only screen and (max-width:321px) {
    .types_retirements .btn {
        font-size: 13px
    }
}

.types_retirements .types_retirements_buttons {
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

@media (min-width:768px) {
    .types_retirements .types_retirements_buttons>div {
        align-items: center;
        display: flex;
        justify-content: center
    }
}

.types_retirements .types_retirements_buttons>div:first-child {
    margin-bottom: 25px
}

@media (max-width:991.98px) {
    .types_retirements .types_retirements_buttons>div:first-child {
        margin-bottom: 0
    }
}

.reviews {
    padding-top: 130px
}

.review_author_score {
    display: block;
    margin-left: 0
}

.review {
    border-radius: 8px;
    box-shadow: 0 15px 35px 0 rgba(0, 0, 0, .04);
    padding: 40px 30px
}

@media (max-width:991.98px) {
    .review {
        padding-left: 0;
        padding-right: 0
    }
}

.review p {
    color: #919191;
    font-size: 18px;
    line-height: 24px;
    margin-top: 30px
}

.review_author_name {
    display: block;
    font-size: 20px;
    margin-bottom: 10px
}

.review_author_name .gray {
    font-size: 18px
}

.review_etablishment {
    border-radius: 8px;
    margin-top: 50px;
    position: relative
}

.review_etablishment_details {
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    padding-left: 35px;
    padding-right: 35px;
    position: absolute;
    right: 0;
    top: 0
}

.review_etablishment_details p:first-child {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px
}

.review_etablishment_details h5,
.review_etablishment_details p {
    color: #fff;
    margin-top: 0
}

.review_etablishment_details p:not(:last-child) {
    margin-bottom: 10px
}

.review_etablishment_details p:last-child {
    margin-bottom: 0
}

.review_etablishment_details .localisation {
    font-size: 16px;
    font-weight: 500;
    padding-left: 25px
}

.review_etablishment_details .localisation:before {
    background: #fff;
    height: 17px;
    left: 0;
    top: calc(50% - 8.5px);
    width: 17px
}

.review_etablishment_details .icon_star {
    font-size: 14px;
    font-weight: 500;
    padding-left: 25px
}

.review_etablishment_details .icon_star span {
    color: #eab40e
}

.review_etablishment_details .icon_star:before {
    height: 17px;
    left: 0;
    top: calc(50% - 8.5px);
    width: 17px
}

.review_etablishment_image {
    position: relative
}

.review_etablishment_image img {
    border-radius: 8px;
    display: block
}

.review_etablishment_image:before {
    background: linear-gradient(90deg, rgba(0, 0, 0, .8) 43%, transparent);
    border-radius: 8px;
    bottom: 0;
    box-shadow: 0 15px 35px 0 rgba(0, 0, 0, .04);
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.review_etablishment_image:after {
    content: ""
}

.listing_text h3 {
    margin-top: 30px
}

.listing_text h3,
.listing_text li,
.listing_text p {
    font-size: 18px;
    margin-bottom: 25px
}

.listing_text p:last-child {
    margin-bottom: 0
}

.listing_text li,
.listing_text p {
    color: #919191
}

.top {
    padding-bottom: 50px
}

@media (max-width:991.98px) {
    .top .row-cols-5>.col {
        flex: 0 0 33.3333%;
        max-width: 33.3333%
    }
}

@media (max-width:767.98px) {
    .top .row-cols-5>.col {
        flex: 0 0 50%;
        max-width: 50%
    }

    .top .row-cols-5>.col:nth-last-of-type(-n+2) {
        margin-bottom: 0
    }
}

.top .col {
    margin-bottom: 40px
}

.top .btn_wrapper {
    margin-top: 70px;
    text-align: center
}

.top .city_img {
    margin-bottom: 20px;
    position: relative
}

.top .city_img h3 {
    bottom: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    left: 15px;
    margin: 0;
    position: absolute
}

@media (max-width:575.98px) {
    .top .city_img img {
        width: 100%
    }
}

.cities .nav-tabs {
    border-bottom: 1px solid #2d9b9c;
    margin-bottom: 70px
}

.cities .nav-item {
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
    margin-right: 40px;
    padding-bottom: 10px;
    position: relative
}

.cities .nav-item.active {
    color: #2d9b9c
}

.cities .nav-item.active:after {
    background: #2d9b9c;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0
}

.round_text {
    margin-bottom: 10px
}

.round_text,
.round_text .round {
    align-items: center;
    display: flex
}

.round_text .round {
    background: #2d9b9c;
    border-radius: 38px;
    color: #fff;
    height: 38px;
    justify-content: center;
    margin-right: 10px;
    width: 38px
}

.round_text .text {
    flex: 1
}

.related_posts h5 {
    font-size: 20px;
    font-weight: 500
}

.cities .tab-content .green {
    display: block;
    font-weight: 500;
    margin-bottom: 5px
}

.faq_question {
    border-bottom: 1px solid #e5e5e5
}

.faq_question.no_border {
    border-bottom: none
}

#searchHeaderForm {
    display: none
}

#searchFormHome .ui-autocomplete {
    left: 0 !important;
    top: 83px !important
}

#searchInputHome {
    padding-left: 15px
}