@import'../fonts/stylesheet.css';
@import'../css/bootstrap.css';

.h2,
.h1,
strong,
b {
    font-weight: normal;
    font-style: normal
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    outline: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-variant-ligatures: common-ligatures;
    -webkit-font-variant-ligatures: common-ligatures
}

@keyframes up-down {
    from {
        top: 0px
    }

    25% {
        top: -10px
    }

    75% {
        top: 10px
    }

    to {
        top: 0px
    }
}

@keyframes bounce {
    from {
        transform: scale(1)
    }

    20% {
        transform: scale(0.8)
    }

    40% {
        transform: scale(1.2)
    }

    60% {
        transform: scale(0.9)
    }

    80% {
        transform: scale(1.1)
    }

    to {
        transform: scale(1)
    }
}

@keyframes like {
    from {
        transform: rotate(0deg)
    }

    40% {
        transform: rotate(25deg)
    }

    60% {
        transform: rotate(-20deg)
    }

    90% {
        transform: rotate(10deg)
    }

    to {
        transform: rotate(0deg)
    }
}

html {
    font-size: 10px;
    font-family: gotham;
    color: #262524;
    width: 100%;
    min-height: 100%;
    overflow-x: hidden
}

body {
    min-height: 100%;
    width: 100%
}

section,
header,
footer,
figure,
article,
aside,
nav,
main {
    display: block
}

button,
input,
textarea {
    border: none;
    background: none
}

a,
a *,
button,
button * {
    transition: all .3s ease;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    outline: none !important
}

a img {
    border: 0
}

a:hover,
button:hover {
    color: #ed1c24
}

img,
svg {
    vertical-align: middle;
    border: none
}

ul,
li {
    list-style-type: none
}

b {
    font-family: gotham-m
}

strong {
    font-family: gotham-b
}

div,
p {
    font-size: 14px;
    font-family: gotham;
    text-align: left;
    color: #262524;
    line-height: 24px
}

textarea {
    overflow: auto;
    resize: none
}

input[type=submit] {
    cursor: pointer
}

.h1 {
    font: 7rem gotham;
    line-height: 7rem;
    color: #fff;
    text-shadow: 0px 0px 6rem rgba(0, 0, 0, .35);
    text-align: center;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-transform: uppercase;
    letter-spacing: .05em
}

.h2 {
    font: 4rem gotham;
    line-height: 5rem;
    text-align: left;
    position: relative;
    color: #262524;
    text-transform: uppercase;
    letter-spacing: .05em
}

.h2 span:first-child {
    font-size: 14px;
    display: inline-block;
    line-height: normal;
    vertical-align: top;
    font-family: gotham-m;
    color: #ed1c24;
    letter-spacing: .05em
}

.h2 span:last-child:not(.icon-etoile) {
    font-size: 20px;
    display: inline-block;
    line-height: normal;
    vertical-align: top;
    font-family: gotham-m;
    color: #ed1c24;
    letter-spacing: .05em;
    margin-top: 10px
}

.h2 span:last-child:not(.icon-etoile).noir {
    color: #262524
}

.h2+* {
    margin-top: 4rem
}

.h3 {
    font: 2.8rem gotham;
    line-height: 3.4rem;
    color: #262524;
    text-align: left;
    position: relative;
    text-transform: uppercase;
    letter-spacing: .05em
}

.h3+p {
    margin-top: 3rem
}

.bouton {
    vertical-align: middle;
    display: inline-block;
    height: 40px;
    min-width: 165px;
    font-size: 12px;
    font-family: gotham-m;
    padding: 0px 20px;
    color: #fff !important;
    line-height: 40px;
    text-align: center;
    background: #262524
}

.bouton:hover {
    color: #fff !important;
    background: #4d4b49
}

.bouton.bg.rouge:hover {
    background: #c7181e
}

.underline {
    text-decoration: underline
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.left {
    text-align: left
}

.justify {
    text-align: justify
}

::-webkit-input-placeholder {
    color: #262524;
    opacity: 1
}

::-moz-placeholder {
    color: #262524;
    opacity: 1
}

::-ms-placeholder {
    color: #262524;
    opacity: 1
}

::-ms-input-placeholder {
    color: #262524;
    opacity: 1
}

:-ms-input-placeholder {
    color: #262524;
    opacity: 1
}

.rouge {
    color: #ed1c24
}

.rouge.bg {
    background: #ed1c24;
    color: inherit
}

.noir {
    color: #262524
}

.noir.bg {
    background: #262524;
    color: inherit
}

.blanc {
    color: #fff
}

.blanc.bg {
    background: #fff;
    color: inherit
}

.gris {
    color: #eaeaea
}

.gris.bg {
    background: #eaeaea;
    color: inherit
}

.gotham {
    font-family: gotham
}

.gotham-b {
    font-family: gotham-b
}

.gotham-m {
    font-family: gotham-m
}

.bt-top {
    display: block;
    width: 6rem;
    height: 6rem;
    position: fixed;
    top: auto;
    bottom: 3rem;
    left: auto;
    right: 3rem;
    z-index: 10000;
    background: #262524;
    text-align: center;
    border-radius: 30px;
    opacity: 0
}

.bt-top .icon-arrow {
    transform: rotate(180deg);
    display: inline-block;
    font-size: 10px;
    width: 10px;
    height: 10px;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    color: #fff
}

.bt-top .icon-arrow:before {
    display: inline-block;
    width: 10px;
    height: 10px;
    line-height: 10px;
    vertical-align: top
}

.bt-top.active {
    opacity: 1
}

.bt-top:hover {
    background: #4d4b49
}

a.popup {
    display: inline-block;
    position: fixed;
    z-index: 100;
    top: 40%;
    right: 0;
    border-radius: 10px 0 0 10px;
    border: solid 2px #ed1c24;
    border-right: 0;
    height: 60px;
    width: 180px;
    font-size: 14px;
    line-height: normal;
    font-family: gotham-m;
    overflow: hidden
}

a.popup .second,
a.popup .first {
    display: inline-block;
    width: 100%;
    height: 100%;
    opacity: 1;
    position: absolute;
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
    padding: 10px 25px 10px 15px;
    transform: translateX(0%);
    transition: all .5s ease;
    background: #ed1c24;
    color: #fff;
    z-index: 5
}

a.popup .second {
    background: #fff;
    color: #ed1c24;
    left: 0%;
    z-index: 1;
    transform: scale(0.5)
}

a.popup .icon-close {
    font-size: 12px;
    position: absolute;
    width: 12px;
    height: 12px;
    top: 7px;
    right: 7px;
    color: #fff;
    z-index: 10
}

a.popup.alt {
    background: #fff;
    color: #ed1c24
}

a.popup.alt .first {
    opacity: 0;
    transform: scale(1.5)
}

a.popup.alt .second {
    transform: scale(1)
}

a.popup.alt .icon-close {
    color: #ed1c24
}

a.popup.hide {
    right: -200px;
    opacity: 0
}

div.overlay {
    background: rgba(0, 0, 0, .95);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100000000;
    transition: opacity .8s ease
}

div.overlay.close {
    opacity: 0
}

div.overlay.under {
    z-index: -15
}

div.overlay #close-modal {
    width: 20px;
    height: auto;
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
    font-size: 18px
}

div.overlay .form-rappel,
div.overlay #form-vr {
    width: 60%;
    transform: translateY(-50%);
    background: #fff;
    position: absolute;
    bottom: auto;
    left: 0;
    right: 0;
    margin: auto;
    padding: 50px;
    text-align: center;
    transition: all .5s ease;
    opacity: 0;
    top: 40%;
    z-index: 1
}

div.overlay .form-rappel.active,
div.overlay #form-vr.active {
    top: 50%;
    opacity: 1;
    z-index: 2
}

div.overlay .form-rappel p,
div.overlay #form-vr p {
    font-size: 18px;
    margin-bottom: 40px
}

div.overlay .form-rappel input,
div.overlay #form-vr input {
    width: 50%;
    height: 45px;
    border: solid 1px;
    border-radius: 30px;
    padding: 0 25px;
    font-size: 16px;
    font-family: gotham;
    margin-bottom: 10px
}

.header.accueil {
    height: 100vh
}

.header nav {
    position: relative;
    z-index: 100
}

.header nav .container .row {
    height: 15rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: 10
}

.header nav .container .row .logo {
    width: 18%;
    padding: 0 15px
}

.header nav .container .row .logo img:hover {
    opacity: .75
}

.header nav .container .row p.right {
    width: 6%;
    padding: 0 15px
}

.header nav #menu {
    width: 76%;
    padding: 0px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    font-family: gotham-m
}

.header nav #menu li {
    color: #b3b3b3;
    letter-spacing: .05em;
    position: relative
}

.header nav #menu li.active {
    color: #fff
}

.header nav #menu li.submenu {
    height: 15rem;
    line-height: 15rem
}

.header nav #menu li.submenu ul {
    position: absolute;
    display: inline-block;
    top: 100%;
    left: -15px;
    background: #262524;
    width: 250px;
    line-height: 40px
}

.header nav #menu li.submenu ul li {
    max-height: 0;
    padding: 0 15px;
    overflow: hidden;
    opacity: 0;
    transition: all .4s ease .25s
}

.header nav #menu li.submenu:hover ul li {
    max-height: 40px;
    opacity: 1
}

.header nav #menu a:hover {
    color: #737373
}

.header .bt-fb {
    background: #fff;
    vertical-align: middle;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    color: #262524;
    text-align: center
}

.header .bt-fb .icon-facebook {
    display: inline-block;
    font-size: 20px;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    vertical-align: middle !important
}

.header .bt-fb .icon-facebook:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    vertical-align: top
}

.header .bt-fb:hover {
    background: #737373;
    color: #262524 !important
}

.header .bt-flag img {
    max-width: 30px;
    margin-left: 15px
}

.header .telephone-header {
    vertical-align: middle;
    display: inline-block;
    padding: 13px 30px;
    position: absolute;
    top: 100%;
    bottom: auto;
    left: auto;
    right: 15px;
    z-index: 5;
    font: 12px gotham-m
}

.header .telephone-header a:hover {
    opacity: .6;
    color: #fff
}

.header #visuel-header {
    height: 62.5rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat
}

.header #visuel-header .bt-scroll {
    background: #ed1c24;
    vertical-align: middle;
    display: inline-block;
    margin: auto;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 20px;
    position: relative
}

.header #visuel-header .bt-scroll .icon-arrow {
    display: inline-block;
    font-size: 14px;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    margin: auto
}

.header #visuel-header .bt-scroll .icon-arrow:before {
    display: inline-block;
    width: 14px;
    height: 14px;
    line-height: 14px;
    vertical-align: top
}

.header #visuel-header .bt-scroll:hover {
    background: #c7181e
}

.header #visuel-header .bt-scroll:hover .icon-arrow {
    top: 10px
}

.header #visuel-header .bouton.modalVR {
    height: 50px;
    border-radius: 25px;
    line-height: 50px;
    letter-spacing: 0;
    margin-top: 30px;
    font-size: 15px;
    padding: 0 25px
}

.header #visuel-header .bouton.modalVR img {
    height: 25px;
    width: auto;
    margin-left: 10px
}

.header.accueil #visuel-header {
    height: calc(100vh - 15rem);
    background-image: url("../images/header/header-accueil-accimmo.jpg")
}

.header.presentation #visuel-header {
    background-image: url("../images/header/qui-sommes-nous.jpg")
}

.header.vente #visuel-header {
    background-image: url("../images/header/achat-vente-immobiliere.jpg")
}

.header.location #visuel-header {
    background-image: url("../images/header/location-bien-immobilier.jpg")
}

.header.gestion #visuel-header {
    background-image: url("../images/header/gestion-locative-securisee.jpg")
}

.header.garantie #visuel-header {
    background-image: url("../images/header/gestion-loyers-impayes.jpg")
}

.header.visite #visuel-header {
    background-image: url("../images/header/visite-realite-virtuelle.jpg")
}

.header.contact #visuel-header,
.header.alerte #visuel-header {
    background-image: url("../images/header/contacter-accimmo.jpg")
}

.header.mentions #visuel-header {
    background: #b3b3b3
}

.header.parrainage #visuel-header {
    background-image: url("../images/header/parrainage.jpg")
}

#formulaire-recherche {
    padding: 6rem 0;
    position: relative;
    z-index: 15
}

#formulaire-recherche .elements-location,
#formulaire-recherche .elements-vente {
    display: none;
    opacity: 0;
    transition: opacity .5s ease .5s
}

#formulaire-recherche .elements-location.active,
#formulaire-recherche .elements-vente.active {
    opacity: 1;
    display: block
}

#formulaire-recherche .row+.row {
    margin-top: 4rem
}

#formulaire-recherche .form-element {
    width: 20%;
    float: left;
    padding: 0 15px
}

#formulaire-recherche .form-element button[type=submit] {
    width: 100%;
    height: 50px;
    background: #ed1c24;
    color: #fff !important;
    font-family: gotham-m;
    letter-spacing: .05em;
    font-size: 12px
}

#formulaire-recherche .form-element button[type=submit]:hover {
    background: #c7181e
}

#deroulantChoixVille,
#deroulantChoixVille2 {
    max-height: 0;
    overflow: hidden;
    width: 100%;
    transition: all .5s ease;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 0px 10px;
    background: #d9d9d9;
    font-size: 12px
}

#deroulantChoixVille li,
#deroulantChoixVille2 li {
    line-height: 30px
}

#deroulantChoixVille li input[type=checkbox],
#deroulantChoixVille2 li input[type=checkbox] {
    appearance: none;
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1
}

#deroulantChoixVille li input[type=checkbox]+label,
#deroulantChoixVille2 li input[type=checkbox]+label {
    display: inline-block;
    vertical-align: middle;
    width: 22px;
    height: 22px;
    position: relative;
    background: #fff;
    border-radius: 3px;
    margin-right: 10px;
    cursor: pointer;
    z-index: 5
}

#deroulantChoixVille li input[type=checkbox]+label:after,
#deroulantChoixVille2 li input[type=checkbox]+label:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    transition: all .2s ease
}

#deroulantChoixVille li input[type=checkbox]:checked+label:after,
#deroulantChoixVille2 li input[type=checkbox]:checked+label:after {
    opacity: 1;
    background: #262524
}

#deroulantChoixVille.ouvert,
#deroulantChoixVille2.ouvert {
    max-height: 300px;
    padding: 15px 10px;
    overflow: auto;
    z-index: 1000
}

#deroulantChoixVille.ouvert li input[type=checkbox],
#deroulantChoixVille2.ouvert li input[type=checkbox] {
    z-index: 100
}

#deroulantChoixVille.ouvert li input[type=checkbox]+label,
#deroulantChoixVille2.ouvert li input[type=checkbox]+label {
    z-index: 100
}

#deroulantChoixVille.ouvert li input[type=checkbox]+label:after,
#deroulantChoixVille2.ouvert li input[type=checkbox]+label:after {
    z-index: 100
}

.annonce a.blanc.bg {
    display: block
}

.annonce a.blanc.bg p.img {
    height: 200px;
    position: relative;
    overflow: hidden;
    background: #262524
}

.annonce a.blanc.bg p.img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    width: 100%;
    height: auto;
    transition: all .8s ease
}

.annonce a.blanc.bg p.img span.icon-coeur {
    display: inline-block;
    font-size: 24px;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    position: absolute;
    top: 20px;
    bottom: auto;
    left: 20px;
    right: auto;
    z-index: 5
}

.annonce a.blanc.bg p.img span.icon-coeur:before {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    vertical-align: top
}

.annonce a.blanc.bg p.img span.superficie {
    padding: 10px 15px;
    display: inline-block;
    position: absolute;
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
    z-index: 5;
    color: #fff
}

.annonce a.blanc.bg p.txt {
    padding: 30px 60px 0px 60px;
    position: relative;
    min-height: 35rem;
    max-height: 35rem
}

.annonce a.blanc.bg p.txt .titre {
    font-size: 24px;
    display: inline-block;
    margin: 10px 0
}

.annonce a.blanc.bg p.txt .prix {
    font-size: 36px;
    display: inline-block;
    width: 100%;
    margin-top: 3rem
}

.annonce a.blanc.bg p.txt .prix span {
    font-size: 18px
}

.annonce a.blanc.bg p.txt .charges {
    font-size: 18px
}

.annonce a.blanc.bg p.txt .icon-plus {
    display: inline-block;
    font-size: 30px;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    position: absolute;
    top: auto;
    bottom: 30px;
    left: auto;
    right: 30px;
    z-index: 5
}

.annonce a.blanc.bg p.txt .icon-plus:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    vertical-align: top
}

.annonce a.blanc.bg p.txt .visite-virtuelle {
    vertical-align: middle;
    display: inline-block;
    padding: 5px 10px;
    font-size: 12px;
    color: #fff;
    position: absolute;
    top: auto;
    bottom: 0px;
    left: auto;
    right: 0px;
    z-index: 5
}

.annonce a.blanc.bg p.txt .visite-virtuelle img {
    max-width: 25px;
    margin-right: 10px;
    height: auto
}

.annonce a.blanc.bg:hover {
    background: #eaeaea;
    box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, .37)
}

.annonce a.blanc.bg:hover p.img img {
    transform: scale(1.05);
    opacity: .5
}

.annonce a.blanc.bg:hover p.img span.icon-coeur {
    animation: bounce .8s ease infinite
}

#bloc-agences header {
    padding: 8rem 0;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 10
}

#bloc-agences header .icon-etoile {
    display: inline-block;
    font-size: 21rem;
    width: 21rem;
    height: 21rem;
    vertical-align: middle;
    position: absolute;
    top: auto;
    bottom: -12.9rem;
    left: -9rem;
    right: auto;
    z-index: 10
}

#bloc-agences header .icon-etoile:before {
    display: inline-block;
    width: 21rem;
    height: 21rem;
    line-height: 21rem;
    vertical-align: top
}

#bloc-agences #liste-agences {
    display: grid;
    align-items: flex-start;
    justify-content: space-between;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column: 3;
    column-gap: 60px;
    row-gap: 30px;
    padding: 9rem 0
}

#bloc-agences #liste-agences::before {
    display: none
}

#bloc-agences #liste-agences p {
    width: 100%;
    padding: 0 15px;
    text-align: center;
    font-size: 18px
}

#bloc-agences #liste-agences p a {
    display: inline-block;
    width: 100%;
    height: auto;
    position: relative;
    background: #262524;
    overflow: hidden
}

#bloc-agences #liste-agences p a img {
    width: 100%;
    height: auto;
    opacity: .8
}

#bloc-agences #liste-agences p a span.texte {
    font-size: 14px;
    color: #fff;
    width: 100%;
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: -20px;
    opacity: 0
}

#bloc-agences #liste-agences p a span.icone-video {
    width: 50px;
    height: 50px;
    border: solid 2px #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    border-radius: 50%;
    margin: auto;
    background: rgba(255, 255, 255, .15)
}

#bloc-agences #liste-agences p a span.icone-video:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1px;
    border: solid 9px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 11px;
    right: 0;
    z-index: 1;
    margin: auto;
    transition: all .5s ease
}

#bloc-agences #liste-agences p a:hover img {
    opacity: .3
}

#bloc-agences #liste-agences p a:hover span.icone-video {
    transform: scale(1.2)
}

#bloc-agences #liste-agences p a:hover span.texte {
    bottom: 10px;
    opacity: 1
}

#bloc-agences #liste-agences p img {
    width: 100%;
    height: auto;
    opacity: .8
}

.footer {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 10;
    background: #262524 url("../images/background-footer.png") no-repeat center center;
    background-size: 1590px auto
}

.footer .icon-etoile {
    display: inline-block;
    font-size: 22rem;
    width: 22rem;
    height: 22rem;
    vertical-align: middle;
    position: absolute;
    top: -12rem;
    bottom: auto;
    left: auto;
    right: -10rem;
    z-index: 10
}

.footer .icon-etoile:before {
    display: inline-block;
    width: 22rem;
    height: 22rem;
    line-height: 22rem;
    vertical-align: top
}

.footer .logo-footer {
    max-width: 14rem
}

.footer .logo-footer.snpi {
    max-width: 10rem;
    margin-left: 15px
}

.footer .ma-widget-feedback {
    display: inline-block;
    padding: 8px !important;
    vertical-align: bottom
}

.footer .ma-widget-feedback-stars {
    margin: 0 !important
}

.footer .ma-widget-feedback.ma-widget-feedback-v2 .ma-widget-feedback__logo {
    margin-bottom: 0 !important
}

.footer .container {
    padding: 8rem 15px
}

.footer .container .telephone-footer {
    position: absolute;
    background: #ed1c24;
    top: 0;
    bottom: auto;
    left: auto;
    right: 15px;
    z-index: 10;
    vertical-align: top;
    display: inline-block;
    line-height: 50px
}

.footer .container .telephone-footer span,
.footer .container .telephone-footer a {
    background: #ed1c24;
    color: #fff;
    vertical-align: top;
    display: inline-block;
    padding: 0 20px;
    font-size: 12px;
    font-family: gotham-m;
    height: 50px
}

.footer .container .telephone-footer a:hover {
    background: #c7181e
}

.footer .container .row.menu p {
    line-height: 30px;
    font-size: 13px
}

.footer .container .row.menu p a {
    margin: 0 15px
}

.footer .container .row.textes {
    margin-top: 10rem;
    display: flex;
    align-items: flex-end
}

.footer .container .row.textes p,
.footer .container .row.textes div {
    font-size: 13px
}

#bandeau-pictos {
    padding: 8rem 0
}

#bandeau-pictos p.col-sm-3,
#bandeau-pictos p.col-sm-4 {
    font-size: 20px;
    font-family: gotham-m;
    text-transform: uppercase
}

#bandeau-pictos .wrap-picto {
    vertical-align: top;
    display: inline-block;
    box-shadow: 0px 4px 4rem rgba(0, 0, 0, .8);
    width: 11rem;
    height: 11rem;
    line-height: 10.5rem;
    border-radius: 5.5rem
}

#bandeau-pictos .wrap-picto [class^=icon-],
#bandeau-pictos .wrap-picto [class*=" icon-"] {
    display: inline-block;
    font-size: 5.5rem;
    width: 5.5rem;
    height: 5.5rem;
    vertical-align: middle
}

#bandeau-pictos .wrap-picto [class^=icon-]:before,
#bandeau-pictos .wrap-picto [class*=" icon-"]:before {
    display: inline-block;
    width: 5.5rem;
    height: 5.5rem;
    line-height: 5.5rem;
    vertical-align: top
}

#bandeau-pictos .wrap-picto img {
    height: 4.5rem;
    width: auto
}

.bloc-content {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 10
}

.bloc-content .visuel-background {
    position: absolute;
    top: 0;
    bottom: auto;
    left: auto;
    right: 0;
    z-index: 1;
    vertical-align: top;
    display: inline-block;
    height: 95rem;
    text-align: right
}

.bloc-content .visuel-background img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center
}

.bloc-content .visuel-background:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    z-index: 2;
    width: 50rem;
    background: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)
}

.bloc-content .visuel-background_pagepresentation {
    width: 100%
}

.bloc-content .visuel-background_pagepresentation:after {
    background: none
}

.bloc-content .barre-rouge {
    background: #ed1c24;
    vertical-align: top;
    display: inline-block;
    position: absolute;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 5;
    width: 30rem;
    height: 5rem
}

.bloc-content .text-main {
    margin-top: 16rem
}

.bloc-content .visuel-illustration {
    z-index: 10;
    height: 35rem
}

.bloc-content .visuel-illustration img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    bottom: auto;
    left: auto;
    right: 15px;
    z-index: 5
}

.bloc-content .bouton {
    min-width: 29rem;
    height: 50px;
    line-height: 50px;
    position: relative
}

.bloc-content .text-secondaire {
    background: #fff;
    box-shadow: 0px 0px 6.5rem rgba(0, 0, 0, .35);
    position: absolute;
    top: auto;
    bottom: 0;
    left: auto;
    right: 15px;
    z-index: 1;
    padding: 7rem;
    padding-bottom: 20rem
}

.bloc-content.presentation .visuel-illustration {
    margin-top: 13rem
}

.bloc-content.presentation .text-secondaire {
    z-index: 1;
    position: relative;
    right: 0;
    background: none;
    padding: 0 15px;
    box-shadow: none
}

.bloc-content.presentation .text-secondaire p {
    margin-top: -10rem
}

.bloc-content .gradient {
    width: auto;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: -20%;
    z-index: 5;
    height: 20rem;
    background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
}

@media(max-width: 1590px) {
    html {
        font-size: 8.5px
    }

    html.noscroll {
        overflow-y: hidden
    }

    .header #bt-menu {
        height: 30px;
        width: auto;
        display: inline-block
    }

    .header #bt-menu span {
        display: inline-block;
        font-size: 30px;
        width: 30px;
        height: 30px;
        vertical-align: middle;
        vertical-align: middle;
        margin-left: 10px;
        margin-top: -5px
    }

    .header #bt-menu span:before {
        display: inline-block;
        width: 30px;
        height: 30px;
        line-height: 30px;
        vertical-align: top
    }

    .header #bt-menu:hover {
        color: #737373
    }

    .header #bt-close {
        display: inline-block;
        font-size: 25px;
        width: 25px;
        height: 25px;
        vertical-align: middle;
        position: absolute;
        top: 4rem;
        bottom: auto;
        left: auto;
        right: 4rem;
        z-index: 5
    }

    .header #bt-close:before {
        display: inline-block;
        width: 25px;
        height: 25px;
        line-height: 25px;
        vertical-align: top
    }

    .header nav #menu {
        width: 0%;
        overflow: hidden;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background: rgba(0, 0, 0, .97);
        padding: 15vh 0;
        display: flex;
        margin: auto;
        flex-direction: column;
        font-size: 24px;
        font-family: gotham;
        transform: scale(0.7);
        opacity: 0;
        transition: width .1s ease-out .6s, transform .6s ease-out, opacity .6s ease-in
    }

    .header nav #menu li {
        color: #b3b3b3;
        letter-spacing: .05em;
        transform: translateX(-50px);
        opacity: 0;
        transition: all .3s ease;
        transition-delay: .6s
    }

    .header nav #menu li.active {
        color: #fff
    }

    .header nav #menu li.facebook {
        border-top: solid 1px rgba(255, 255, 255, .2);
        padding: 30px 15px 0 15px
    }

    .header nav #menu li.submenu {
        display: none
    }

    .header nav #menu a:hover {
        color: #737373
    }

    .header nav .container .row .logo {
        width: 21%
    }

    .header nav .container .row p.right {
        width: 79%;
        padding: 0 15px
    }

    .header nav.ouvert #menu {
        width: 100%;
        transform: scale(1);
        opacity: 1;
        transition: width 0s ease-out, transform .6s ease-out, opacity .6s ease-in
    }

    .header nav.ouvert #menu li {
        transform: translateX(0px);
        opacity: 1
    }

    .header nav.ouvert #menu li:nth-of-type(1) {
        transition-delay: .58s
    }

    .header nav.ouvert #menu li:nth-of-type(2) {
        transition-delay: .71s
    }

    .header nav.ouvert #menu li:nth-of-type(3) {
        transition-delay: .84s
    }

    .header nav.ouvert #menu li:nth-of-type(4) {
        transition-delay: .97s
    }

    .header nav.ouvert #menu li:nth-of-type(5) {
        transition-delay: 1.1s
    }

    .header nav.ouvert #menu li:nth-of-type(6) {
        transition-delay: 1.23s
    }

    .header nav.ouvert #menu li:nth-of-type(7) {
        transition-delay: 1.36s
    }

    .header nav.ouvert #menu li:nth-of-type(8) {
        transition-delay: 1.49s
    }

    .header nav.ouvert #menu li:nth-of-type(9) {
        transition-delay: 1.62s
    }

    .header nav.ouvert #menu li:nth-of-type(10) {
        transition-delay: 1.75s
    }

    .header nav.ouvert #menu li:nth-of-type(11) {
        transition-delay: 1.88s
    }

    .header nav.ouvert #menu li:nth-of-type(12) {
        transition-delay: 2.01s
    }

    .header nav.ouvert #menu li:nth-of-type(13) {
        transition-delay: 2.14s
    }

    .header nav.ouvert #menu li:nth-of-type(14) {
        transition-delay: 2.27s
    }

    .header nav.ouvert #menu li:nth-of-type(15) {
        transition-delay: 2.4s
    }

    .annonce a.blanc.bg p.img {
        height: 170px
    }

    .annonce a.blanc.bg p.img span.icon-coeur {
        display: inline-block;
        font-size: 22px;
        width: 22px;
        height: 22px;
        vertical-align: middle
    }

    .annonce a.blanc.bg p.img span.icon-coeur:before {
        display: inline-block;
        width: 22px;
        height: 22px;
        line-height: 22px;
        vertical-align: top
    }

    .annonce a.blanc.bg p.txt {
        padding: 30px 50px 0px 50px;
        min-height: 380px
    }

    .annonce a.blanc.bg p.txt .prix {
        font-size: 32px
    }

    .annonce a.blanc.bg p.txt .icon-plus {
        display: inline-block;
        font-size: 28px;
        width: 28px;
        height: 28px;
        vertical-align: middle;
        position: absolute;
        top: auto;
        bottom: 25px;
        left: auto;
        right: 25px;
        z-index: 5
    }

    .annonce a.blanc.bg p.txt .icon-plus:before {
        display: inline-block;
        width: 28px;
        height: 28px;
        line-height: 28px;
        vertical-align: top
    }

    .annonce a.blanc.bg:hover {
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .37)
    }

    #bloc-agences #liste-agences p {
        font-size: 16px
    }

    .footer {
        background-size: 1200px auto
    }

    .footer .logo-footer.snpi {
        max-width: 9rem;
        margin-left: 15px
    }

    .bloc-content .visuel-background:after {
        width: 100rem
    }

    .bloc-content .text-secondaire {
        padding-bottom: 25rem
    }

    .bloc-content.presentation .text-secondaire p {
        margin-top: -20rem
    }
}

@media(max-width: 1200px) {
    html {
        font-size: 7.2px
    }

    .h2 span:last-child:not(.icon-etoile) {
        font-size: 18px
    }

    div.overlay .form-rappel p,
    div.overlay #form-vr p {
        font-size: 16px;
        margin-bottom: 30px
    }

    div.overlay .form-rappel input,
    div.overlay #form-vr input {
        width: 70%;
        height: 45px;
        border: solid 1px;
        border-radius: 30px;
        padding: 0 25px;
        font-size: 14px;
        font-family: gotham;
        margin-bottom: 10px
    }

    .header nav #menu {
        font-size: 22px
    }

    .header nav #menu li.facebook {
        padding: 20px 15px 0 15px
    }

    .header nav .container .row .logo {
        width: 23%
    }

    .header nav .container .row p.right {
        width: 77%
    }

    .header #visuel-header .bouton.modalVR {
        height: 45px;
        line-height: 45px;
        margin-top: 20px;
        font-size: 14px;
        padding: 0 25px
    }

    .header #visuel-header .bouton.modalVR img {
        height: 20px;
        width: auto;
        margin-left: 10px
    }

    #formulaire-recherche {
        padding: 6rem 0
    }

    #formulaire-recherche .form-element {
        width: 25%;
        margin-bottom: 30px
    }

    #formulaire-recherche .form-element:last-child {
        width: 100%;
        text-align: center;
        margin-bottom: 0
    }

    #formulaire-recherche .form-element:last-child button[type=submit] {
        width: 200px
    }

    .annonce a.blanc.bg p.img {
        height: 170px
    }

    .annonce a.blanc.bg p.img span.icon-coeur {
        display: inline-block;
        font-size: 20px;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        left: 15px;
        top: 15px
    }

    .annonce a.blanc.bg p.img span.icon-coeur:before {
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        vertical-align: top
    }

    .annonce a.blanc.bg p.img span.superficie {
        padding: 5px 10px
    }

    .annonce a.blanc.bg p.txt {
        padding: 20px 40px 40px 40px
    }

    .annonce a.blanc.bg p.txt .prix {
        font-size: 28px
    }

    .annonce a.blanc.bg p.txt .titre {
        font-size: 20px
    }

    .annonce a.blanc.bg p.txt .icon-plus {
        display: inline-block;
        font-size: 24px;
        width: 24px;
        height: 24px;
        vertical-align: middle;
        position: absolute;
        top: auto;
        bottom: 20px;
        left: auto;
        right: 20px;
        z-index: 5
    }

    .annonce a.blanc.bg p.txt .icon-plus:before {
        display: inline-block;
        width: 24px;
        height: 24px;
        line-height: 24px;
        vertical-align: top
    }

    #bloc-agences #liste-agences {
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 4rem
    }

    #bloc-agences #liste-agences p {
        font-size: 16px;
        margin-bottom: 5rem
    }

    .footer {
        background-size: 992px auto
    }

    .footer .icon-etoile {
        display: inline-block;
        font-size: 22rem;
        width: 22rem;
        height: 22rem;
        vertical-align: middle;
        position: absolute;
        top: -12rem;
        bottom: auto;
        left: -10rem;
        right: auto;
        z-index: 10
    }

    .footer .icon-etoile:before {
        display: inline-block;
        width: 22rem;
        height: 22rem;
        line-height: 22rem;
        vertical-align: top
    }

    .footer .logo-footer.snpi {
        margin-top: 20px
    }

    .footer .container .telephone-footer {
        line-height: 40px
    }

    .footer .container .telephone-footer span,
    .footer .container .telephone-footer a {
        height: auto
    }

    .footer .container .row.menu p {
        line-height: 30px;
        font-size: 13px
    }

    .footer .container .row.menu p a {
        margin: 0 10px
    }

    .footer .container .row.textes {
        margin-top: 10rem;
        display: flex;
        align-items: flex-end
    }

    .footer .container .row.textes p {
        font-size: 13px
    }

    #bandeau-pictos p.col-sm-3,
    #bandeau-pictos p.col-sm-4 {
        font-size: 18px
    }

    .bloc-content .visuel-background:after {
        width: 100rem
    }

    .bloc-content .text-secondaire {
        padding-bottom: 30rem
    }

    .bloc-content.presentation .text-secondaire p {
        margin-top: -30rem
    }
}

@media(max-width: 992px) {
    html {
        font-size: 6.1px
    }

    html.noscroll {
        overflow-y: hidden
    }

    .bouton {
        min-width: 145px;
        padding: 0px 15px
    }

    .h2 span:last-child:not(.icon-etoile) {
        font-size: 16px
    }

    .h3 {
        font-size: 18px
    }

    div.overlay .form-rappel,
    div.overlay #form-vr {
        width: 70%;
        padding: 30px
    }

    div.overlay .form-rappel p,
    div.overlay #form-vr p {
        font-size: 14px;
        margin-bottom: 20px
    }

    .header nav #menu {
        font-size: 20px
    }

    .header nav #menu li.facebook {
        padding: 15px 15px 0 15px
    }

    .header nav .container .row .logo {
        width: 27%
    }

    .header nav .container .row p.right {
        width: 73%
    }

    #formulaire-recherche .form-element {
        width: 50%
    }

    .annonce a.blanc.bg p.img {
        height: 170px
    }

    .annonce a.blanc.bg p.img img {
        height: 100%;
        width: auto
    }

    .annonce a.blanc.bg p.img span.icon-coeur {
        display: inline-block;
        font-size: 20px;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        left: 15px;
        top: 15px
    }

    .annonce a.blanc.bg p.img span.icon-coeur:before {
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        vertical-align: top
    }

    .annonce a.blanc.bg p.txt {
        padding: 25px
    }

    .annonce a.blanc.bg p.txt .prix {
        font-size: 24px;
        display: inline-block;
        width: 100%
    }

    .annonce a.blanc.bg p.txt .titre {
        font-size: 18px;
        margin: 5px 0
    }

    .annonce a.blanc.bg p.txt .icon-plus {
        display: inline-block;
        font-size: 20px;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        position: absolute;
        top: auto;
        bottom: 15px;
        left: auto;
        right: 15px;
        z-index: 5
    }

    .annonce a.blanc.bg p.txt .icon-plus:before {
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        vertical-align: top
    }

    .footer {
        background-size: 760px auto
    }

    .footer .ma-widget-feedback {
        margin-bottom: 20px
    }

    .footer .logo-footer.snpi {
        max-width: 12rem
    }

    #bandeau-pictos p.col-sm-3,
    #bandeau-pictos p.col-sm-4 {
        font-size: 16px
    }

    .bloc-content .visuel-background {
        height: auto
    }

    .bloc-content .visuel-background img {
        opacity: .2;
        width: 100%;
        height: auto
    }

    .bloc-content .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content .text-secondaire {
        position: relative;
        right: 0;
        margin-top: -50px;
        z-index: 15;
        padding-bottom: 20rem
    }

    .bloc-content .gradient {
        z-index: 20;
        right: 0
    }

    .bloc-content.presentation .text-secondaire {
        margin-top: 0
    }

    .bloc-content.presentation .text-secondaire p {
        margin-top: 10rem
    }

    .bloc-content.presentation .visuel-illustration {
        margin-top: 10rem
    }

    .bloc-content .visuel-illustration {
        height: 35rem;
        display: flex;
        align-items: center;
        overflow: hidden
    }

    .bloc-content .visuel-illustration img {
        height: auto;
        width: 100%;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        z-index: 5
    }
}

@media(max-width: 760px) {
    html {
        font-size: 5.2px
    }

    .reverse {
        display: flex;
        flex-direction: column-reverse
    }

    .h1 {
        position: relative;
        z-index: 10;
        font-size: 6.5rem
    }

    .h2 br {
        display: none
    }

    .h2 span {
        margin-bottom: 10px
    }

    .h2 span:last-child:not(.icon-etoile) {
        font-size: 14px
    }

    div,
    p {
        font-size: 14px;
        line-height: 22px
    }

    a.popup {
        display: none
    }

    div.overlay .form-rappel,
    div.overlay #form-vr {
        width: 80%;
        padding: 20px
    }

    div.overlay .form-rappel p,
    div.overlay #form-vr p {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 20px
    }

    div.overlay .form-rappel input,
    div.overlay #form-vr input {
        width: 90%;
        height: 40px;
        border: solid 1px;
        border-radius: 10px;
        padding: 0 15px;
        font-size: 13px;
        font-family: gotham;
        margin-bottom: 10px
    }

    div.overlay .form-rappel button[type=submit],
    div.overlay #form-vr button[type=submit] {
        margin-top: -20px
    }

    .header #bt-menu #bt-menu {
        height: 25px;
        width: auto;
        display: inline-block
    }

    .header #bt-menu #bt-menu span {
        display: inline-block;
        font-size: 25px;
        width: 25px;
        height: 25px;
        vertical-align: middle;
        margin-left: 5px
    }

    .header #bt-menu #bt-menu span:before {
        display: inline-block;
        width: 25px;
        height: 25px;
        line-height: 25px;
        vertical-align: top
    }

    .header #bt-menu #bt-menu:hover {
        color: #737373
    }

    .header #bt-close {
        display: inline-block;
        font-size: 20px;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        position: absolute;
        top: 4rem;
        bottom: auto;
        left: auto;
        right: 4rem;
        z-index: 5
    }

    .header #bt-close:before {
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        vertical-align: top
    }

    .header nav #menu {
        font-size: 18px
    }

    .header nav .container .row .logo {
        width: 50%
    }

    .header nav .container .row .logo img {
        max-width: 150px
    }

    .header nav .container .row p.right {
        width: 50%
    }

    .header #visuel-header .bouton.modalVR {
        height: 45px;
        line-height: 45px;
        margin-top: 20px;
        padding: 0 15px;
        font-size: 12px
    }

    .header #visuel-header .bouton.modalVR img {
        height: 20px;
        width: auto;
        margin-left: 10px
    }

    .header.accueil #visuel-header {
        background-position: left center;
        position: relative
    }

    .header.accueil #visuel-header:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        background: rgba(0, 0, 0, .5)
    }

    .header .bt-fb {
        width: 30px;
        height: 30px;
        font-size: 15px;
        line-height: 25px
    }

    .header .bt-fb .icon-facebook {
        display: inline-block;
        font-size: 15px;
        width: 15px;
        height: 15px;
        vertical-align: middle
    }

    .header .bt-fb .icon-facebook:before {
        display: inline-block;
        width: 15px;
        height: 15px;
        line-height: 15px;
        vertical-align: top
    }

    #formulaire-recherche .form-element {
        width: 100%
    }

    .annonce a.blanc.bg p.img {
        height: 45vw
    }

    .annonce a.blanc.bg p.img img {
        width: 100%;
        height: auto
    }

    .annonce a.blanc.bg p.txt {
        padding: 20px
    }

    .annonce+.annonce {
        margin-top: 45px
    }

    #bloc-agences header {
        padding: 8rem 0;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        z-index: 10
    }

    #bloc-agences header .icon-etoile {
        display: inline-block;
        font-size: 21rem;
        width: 21rem;
        height: 21rem;
        vertical-align: middle;
        position: absolute;
        top: auto;
        bottom: -7rem;
        left: auto;
        right: -9rem;
        z-index: 10
    }

    #bloc-agences header .icon-etoile:before {
        display: inline-block;
        width: 21rem;
        height: 21rem;
        line-height: 21rem;
        vertical-align: top
    }

    #bloc-agences #liste-agences {
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 4rem;
        grid-template-columns: 1fr 1fr;
        column-gap: 30px
    }

    #bloc-agences #liste-agences p {
        font-size: 14px;
        margin-bottom: 5rem
    }

    #bloc-agences #liste-agences p a.visible-xs-inline {
        background: none !important
    }

    .footer {
        background-size: 90% auto
    }

    .footer .icon-etoile {
        display: none
    }

    .footer .container .row.menu {
        margin-top: 20px
    }

    .footer .container .row.menu p {
        line-height: 30px;
        font-size: 13px
    }

    .footer .container .row.menu p a {
        margin: 0px 0;
        display: block
    }

    .footer .container .row.textes {
        display: block
    }

    .footer .container .row.textes p+p {
        margin-top: 15px;
        text-align: left !important
    }

    .footer .ma-widget-feedback {
        margin-bottom: 0px;
        margin-top: 20px
    }

    #bandeau-pictos {
        padding-bottom: 0
    }

    #bandeau-pictos p.col-sm-3,
    #bandeau-pictos p.col-sm-4 {
        font-size: 14px;
        margin-bottom: 8rem
    }

    .bloc-content .visuel-background {
        height: auto;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative
    }

    .bloc-content .visuel-background img {
        opacity: 1;
        width: 100%;
        height: auto
    }

    .bloc-content .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 80%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 70%, rgb(255, 255, 255))
    }

    .bloc-content .text-main {
        margin-top: -25vw
    }

    .bloc-content .text-secondaire {
        position: relative;
        right: 0;
        margin-top: -50px;
        z-index: 15;
        padding: 30px;
        padding-bottom: 20rem
    }

    .bloc-content.presentation .text-secondaire p {
        margin-top: 10rem
    }

    .bloc-content.presentation .visuel-illustration {
        margin-top: 10rem
    }

    .bloc-content .visuel-illustration {
        height: 40rem;
        display: flex;
        align-items: center;
        overflow: hidden;
        justify-content: center;
        border-left: 15px #fff;
        border-right: 15px #fff
    }

    .bloc-content .visuel-illustration img {
        height: 100%;
        width: auto;
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        z-index: 5
    }
}

@media(max-width: 430px) {
    #bloc-agences #liste-agences {
        padding-bottom: 4rem;
        grid-template-columns: 1fr;
        column-gap: 30px
    }

    #bloc-agences #liste-agences p {
        width: 100%
    }
}

.u-banner-cookies {
    background: rgba(0, 0, 0, .85);
    color: #fff;
    font-size: 12px;
    line-height: 16px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100%);
    padding: 10px 0;
    z-index: 10000;
    opacity: 0;
    transition: all .5s ease .25s
}

@media(min-width: 760px) {
    .u-banner-cookies {
        padding: 20px 0
    }
}

@media(min-width: 992px) {
    .u-banner-cookies {
        font-size: 14px;
        line-height: 18px
    }
}

.u-banner-cookies_texte {
    padding-right: 30px;
    color: #fff
}

.u-banner-cookies_close {
    position: absolute;
    cursor: pointer;
    width: 20px;
    height: 20px;
    right: 15px;
    top: 0px;
    z-index: 10;
    bottom: 0px;
    margin: auto;
    background: none;
    border: none
}

@media(min-width: 992px) {
    .u-banner-cookies_close {
        width: 25px;
        height: 25px
    }
}

.u-banner-cookies_close:after,
.u-banner-cookies_close:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 2px;
    width: 100%;
    background: #fff;
    transform: rotate(-45deg)
}

.u-banner-cookies_close:before {
    transform: rotate(45deg)
}

.u-banner-cookies.active {
    transform: translateY(0);
    opacity: 1
}

.bouton-presentation_center {
    margin-left: calc(50% - 14.5rem)
}

#txt-home {
    background: url(../images/accimo-agence-immobiliere-est-toulousain.jpg) no-repeat center center;
    background-size: cover
}

#txt-home .container .row {
    padding: 13rem 0
}

#txt-home .container-fluid .col-lg-6 {
    padding-right: 0
}

#txt-home .container-fluid .col-lg-6 div.rouge.bg {
    padding: 4.5rem 7rem 2rem 7rem
}

#txt-home .container-fluid .col-lg-6 div.rouge.bg p+p {
    margin-top: 3rem
}

#txt-home .container-fluid .col-lg-6 .logo-ce-airbus {
    max-height: 10rem;
    margin-left: 3rem
}

#coups-de-coeur {
    background: url("../images/coups-de-coeur-accimmo.jpg") no-repeat center center;
    background-size: cover;
    padding: 13rem 0
}

#coups-de-coeur .container .row+.row {
    margin-top: 8rem
}

#bt-prev-coups-coeur,
#bt-next-coups-coeur {
    display: block;
    position: absolute;
    margin: auto;
    z-index: 15;
    top: 0;
    left: 15px;
    bottom: 0;
    background: #ed1c24;
    border-radius: 50%;
    width: 7rem;
    height: 7rem;
    min-width: 40px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%);
    opacity: 1
}

#bt-prev-coups-coeur .icon-arrow,
#bt-next-coups-coeur .icon-arrow {
    display: inline-block;
    font-size: 2rem;
    width: 2rem;
    height: 2rem;
    vertical-align: middle;
    transform: rotate(90deg);
    color: #fff
}

#bt-prev-coups-coeur .icon-arrow:before,
#bt-next-coups-coeur .icon-arrow:before {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    vertical-align: top
}

@media(max-width: 760px) {

    #bt-prev-coups-coeur .icon-arrow,
    #bt-next-coups-coeur .icon-arrow {
        display: inline-block;
        font-size: 15px;
        width: 15px;
        height: 15px;
        vertical-align: middle
    }

    #bt-prev-coups-coeur .icon-arrow:before,
    #bt-next-coups-coeur .icon-arrow:before {
        display: inline-block;
        width: 15px;
        height: 15px;
        line-height: 15px;
        vertical-align: top
    }
}

@media(max-width: 760px) {

    #bt-prev-coups-coeur,
    #bt-next-coups-coeur {
        transform: none;
        top: auto;
        bottom: -50px
    }
}

#bt-next-coups-coeur {
    left: auto;
    right: 15px;
    transform: rotate(180deg) translateX(-50%)
}

@media(max-width: 760px) {
    #bt-next-coups-coeur {
        transform: rotate(180deg) translateX(0%);
        top: auto;
        bottom: -50px
    }
}

#slider-coeur {
    padding: 0px
}

#slider-coeur .annonce {
    margin: 0 15px
}

#facebook-home {
    padding: 3rem 0 9rem 0
}

@media(max-width: 500px) {
    #facebook-home {
        padding-bottom: 90px
    }
}

#facebook-home .cadre-facebook-home {
    transform: translateY(-50%);
    background-color: #fff;
    border: solid 2px #ed1c24;
    vertical-align: middle;
    display: inline-block;
    padding: 30px 40px;
    font-size: 18px
}

@media(max-width: 500px) {
    #facebook-home .cadre-facebook-home {
        transform: translateY(50%)
    }
}

#facebook-home .cadre-facebook-home .icon-pouce {
    display: inline-block;
    font-size: 32px;
    width: 32px;
    height: 32px;
    vertical-align: middle;
    margin-top: -13px
}

#facebook-home .cadre-facebook-home .icon-pouce:before {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    vertical-align: top
}

#facebook-home .cadre-facebook-home:hover .icon-pouce {
    animation: like .6s ease
}

@media(max-width: 1590px) {
    #facebook-home .cadre-facebook-home {
        vertical-align: middle;
        display: inline-block;
        padding: 25px 35px;
        font-size: 16px
    }

    #facebook-home .cadre-facebook-home .icon-pouce {
        display: inline-block;
        font-size: 28px;
        width: 28px;
        height: 28px;
        vertical-align: middle;
        margin-top: -10px
    }

    #facebook-home .cadre-facebook-home .icon-pouce:before {
        display: inline-block;
        width: 28px;
        height: 28px;
        line-height: 28px;
        vertical-align: top
    }
}

@media(max-width: 760px) {
    #txt-home {
        background: url(../images/mobile/accimo-agence-immobiliere-est-toulousain.jpg) no-repeat center center;
        background-size: cover
    }

    #txt-home .container-fluid .col-lg-6 {
        padding-right: 0;
        padding-left: 0
    }

    #txt-home .container-fluid .col-lg-6 div.rouge.bg {
        padding: 30px 15px
    }

    #facebook-home .cadre-facebook-home {
        vertical-align: middle;
        display: inline-block;
        padding: 15px;
        font-size: 16px
    }

    #facebook-home .cadre-facebook-home .icon-pouce {
        display: inline-block;
        font-size: 24px;
        width: 24px;
        height: 24px;
        vertical-align: middle;
        margin-top: -10px
    }

    #facebook-home .cadre-facebook-home .icon-pouce:before {
        display: inline-block;
        width: 24px;
        height: 24px;
        line-height: 24px;
        vertical-align: top
    }
}

.accueil-section_agences {
    background-color: #eaeaea
}

.accueil-section_agences_google {
    background-color: #fff;
    padding: 50px 70px 100px;
    border-radius: 30px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    column-gap: 30px;
    row-gap: 30px;
    align-items: center;
    justify-content: center
}

@media(max-width: 500px) {
    .accueil-section_agences_google {
        display: flex;
        flex-direction: column;
        grid-template-columns: 1fr;
        text-align: center;
        padding: 50px
    }

    .accueil-section_agences_google p {
        text-align: center
    }
}

.accueil-section_agences_google p {
    font-weight: 900;
    font-family: gotham-b
}

.accueil-section_agences_google img {
    width: 29rem
}

.bloc-content.presentation .barre-rouge {
    top: -5rem;
    right: 0;
    width: 5rem;
    height: 29rem
}

#slider-partenaires {
    padding: 0 20px;
    margin-top: 6rem;
    margin-bottom: 10rem
}

#slider-partenaires div.slick-slide {
    width: 20%;
    text-align: center
}

#slider-partenaires div.slick-slide p {
    text-align: center;
    margin-top: 2rem;
    padding: 0 15px
}

#slider-partenaires div.slick-slide p.img {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 0
}

#slider-partenaires div.slick-slide p.img img {
    max-height: 100%
}

#partenaires {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 1;
    margin-top: 5rem
}

#partenaires:after {
    display: block;
    content: "";
    width: 100%;
    height: 50%;
    transform: skewY(4deg);
    background: #eaeaea;
    position: absolute;
    top: -8rem;
    bottom: auto;
    left: 0;
    right: 0;
    z-index: 1
}

.casque-vr {
    position: absolute;
    top: -13rem;
    bottom: auto;
    left: auto;
    right: 0;
    z-index: 10;
    width: 56rem;
    z-index: 3
}

#bt-next,
#bt-prev {
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 15px;
    z-index: 5;
    width: 40px;
    height: 40px;
    background: #ed1c24;
    border-radius: 50%;
    margin: auto
}

#bt-next span,
#bt-prev span {
    display: inline-block;
    font-size: 16px;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    transform: rotate(-90deg);
    color: #fff
}

#bt-next span:before,
#bt-prev span:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    line-height: 16px;
    vertical-align: top
}

#bt-prev {
    left: 15px;
    right: auto
}

#bt-prev span {
    transform: rotate(90deg)
}

@media(max-width: 1590px) {
    .casque-vr {
        width: 50rem
    }
}

@media(max-width: 1200px) {
    .casque-vr {
        width: 40rem;
        top: -10rem
    }
}

@media(max-width: 760px) {
    #partenaires {
        margin-top: 20rem
    }

    .casque-vr {
        width: 40rem;
        top: -37rem
    }
}

@media(max-width: 480px) {
    .casque-vr {
        width: 35rem;
        top: -35rem
    }
}

.bloc-content.vente .barre-rouge,
.bloc-content.location .barre-rouge {
    top: 12rem;
    right: 0;
    width: 5rem;
    height: 29rem
}

.bloc-content.vente .visuel-illustration,
.bloc-content.location .visuel-illustration {
    margin-top: 7.5rem
}

.bloc-content.location .text-main {
    padding-bottom: 20rem
}

#annonces {
    background: #eaeaea;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 15;
    overflow: hidden;
    padding-bottom: 10rem
}

#annonces .barre-rouge {
    vertical-align: top;
    display: inline-block;
    position: absolute;
    top: 50rem;
    bottom: auto;
    left: 0;
    right: auto;
    z-index: 2;
    width: 5rem;
    height: 29rem;
    background: #ed1c24
}

#annonces header {
    padding: 12rem 15px
}

#annonces .icon-etoile.rouge {
    display: inline-block;
    font-size: 20rem;
    width: 20rem;
    height: 20rem;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: auto;
    left: auto;
    right: 5rem;
    z-index: 4
}

#annonces .icon-etoile.rouge:before {
    display: inline-block;
    width: 20rem;
    height: 20rem;
    line-height: 20rem;
    vertical-align: top
}

#annonces:after {
    transform: skewY(-13deg);
    background: #fff;
    content: "";
    width: 100%;
    height: 85rem;
    transform-origin: 0 0;
    position: absolute;
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
    z-index: 1
}

#annonces .annonce {
    margin-bottom: 40px
}

#annonces .annonce+.annonce {
    margin-top: 0
}

#annonces .annonce .bg.blanc {
    box-shadow: 0px 5px 10px rgba(0, 0, 0, .15)
}

#annonces .pagination a {
    vertical-align: top;
    display: inline-block;
    width: 30px;
    height: 30px;
    border: solid 1px #ed1c24;
    line-height: 28px;
    text-align: center;
    color: #ed1c24;
    font-size: 16px
}

#annonces .pagination a:hover {
    background: #ed1c24;
    color: #fff
}

#annonces .pagination a.active {
    font-family: gotham-b;
    line-height: 26px;
    border-width: 2px
}

.details-annonce {
    background: #eaeaea;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 5
}

.details-annonce .barre-rouge-1,
.details-annonce .barre-rouge-2 {
    display: block;
    position: absolute;
    top: auto;
    bottom: 29rem;
    left: auto;
    right: 0;
    z-index: 1;
    width: 5rem;
    height: 29rem;
    background: #ed1c24
}

.details-annonce .barre-rouge-2 {
    position: absolute;
    top: auto;
    bottom: -14rem;
    left: 0;
    right: auto;
    z-index: 1
}

.details-annonce header {
    padding: 10rem 15px
}

.details-annonce header .bouton {
    height: 50px;
    line-height: 50px
}

.details-annonce header .bt-print {
    min-width: auto;
    margin-right: 15px
}

.details-annonce header .bt-print span.icon-print {
    display: inline-block;
    font-size: 30px;
    width: 30px;
    height: 30px;
    vertical-align: middle
}

.details-annonce header .bt-print span.icon-print:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    vertical-align: top
}

.details-annonce header .bt-vr {
    position: relative;
    min-width: auto;
    margin-right: 15px;
    padding: 0 10px
}

.details-annonce header .bt-vr img {
    max-width: 45px
}

.details-annonce header .bt-vr span.txt {
    margin-left: 10px;
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    transition: all .3s ease, opacity .5s ease;
    opacity: 1;
    max-height: 40px;
    width: 120px;
    text-align: left
}

.details-annonce .content-annonce div.blanc.bg {
    position: relative
}

.details-annonce .content-annonce div.blanc.bg .galerie {
    width: 55%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #d9d9d9
}

.details-annonce .content-annonce div.blanc.bg .texte {
    margin-left: 55%;
    width: 45%;
    padding: 10rem;
    padding-right: 16rem
}

.details-annonce .content-annonce div.blanc.bg .texte .h3 {
    margin: 4rem 0
}

.details-annonce .content-annonce div.blanc.bg .texte b.rouge {
    font-size: 20px
}

.details-annonce .content-annonce div.blanc.bg .texte .prix {
    vertical-align: top;
    display: inline-block;
    margin: 3.5rem 0;
    font-size: 3.6rem;
    letter-spacing: .05em
}

.details-annonce .content-annonce div.blanc.bg .texte .prix span {
    font-size: 18px;
    letter-spacing: 0
}

.details-annonce .content-annonce div.blanc.bg .texte .frais {
    vertical-align: top;
    display: inline-block;
    width: 100%;
    margin-top: 4rem
}

.details-annonce #galerie-photo-annonce {
    height: 100%;
    width: 100%
}

.details-annonce #galerie-photo-annonce .slick-list,
.details-annonce #galerie-photo-annonce .slick-track {
    height: 100%
}

.details-annonce #galerie-photo-annonce div.slick-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 100%
}

.details-annonce #galerie-photo-annonce div.slick-slide img {
    max-width: 100%;
    height: auto;
    max-height: 100%
}

.details-annonce .row.details {
    padding: 9rem 0
}

.details-annonce .row.details .h3 {
    margin-bottom: 4rem
}

.details-annonce .row.details .detail-bien p {
    border-bottom: solid 1px #262524;
    padding: 15px 0px
}

.details-annonce .row.details .detail-bien p .maj {
    text-transform: uppercase
}

#dpe {
    padding: 8rem 0
}

#dpe .dpe,
#dpe .ges {
    margin-top: 4rem;
    display: inline-block;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 1
}

#dpe .dpe img,
#dpe .ges img {
    max-width: 280px;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 1
}

#dpe .dpe span.valeur,
#dpe .ges span.valeur {
    vertical-align: top;
    display: inline-block;
    position: absolute;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: 2;
    padding: 0 10px;
    line-height: 30px;
    background: #262524;
    color: #fff;
    font-family: gotham-m;
    right: 0;
    top: 21px
}

#dpe .dpe span.valeur:after,
#dpe .ges span.valeur:after {
    content: "";
    display: block;
    position: absolute;
    left: -30px;
    top: 0;
    border: solid 15px;
    height: 1px;
    width: 1px;
    border-color: rgba(0, 0, 0, 0) #262524 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

#dpe .dpe span.valeur.b,
#dpe .ges span.valeur.b {
    top: 53px
}

#dpe .dpe span.valeur.c,
#dpe .ges span.valeur.c {
    top: 83px
}

#dpe .dpe span.valeur.d,
#dpe .ges span.valeur.d {
    top: 113px
}

#dpe .dpe span.valeur.e,
#dpe .ges span.valeur.e {
    top: 145px
}

#dpe .dpe span.valeur.f,
#dpe .ges span.valeur.f {
    top: 176px
}

#dpe .dpe span.valeur.g,
#dpe .ges span.valeur.g {
    top: 207px
}

#map-localisation {
    height: 70rem
}

.bouton-visite-vr {
    height: 60px;
    font-size: 14px;
    position: relative
}

.bouton-visite-vr img {
    height: 50%;
    width: auto;
    margin-left: 10px
}

@media(max-width: 1590px) {
    .details-annonce .content-annonce div.blanc.bg .texte {
        padding: 7rem
    }

    .details-annonce .content-annonce div.blanc.bg .texte .h3 {
        margin: 3rem 0
    }

    .details-annonce .content-annonce div.blanc.bg .texte b.rouge {
        font-size: 18px
    }

    .details-annonce .content-annonce div.blanc.bg .texte .prix {
        margin: 3rem 0
    }

    .details-annonce #galerie-photo-annonce {
        height: 100%;
        width: 100%
    }

    .details-annonce #galerie-photo-annonce .slick-list,
    .details-annonce #galerie-photo-annonce .slick-track {
        height: 100%
    }

    .details-annonce #galerie-photo-annonce div.slick-slide {
        display: flex;
        align-items: center;
        justify-content: center;
        max-height: 100%
    }

    .details-annonce #galerie-photo-annonce div.slick-slide img {
        max-width: 100%;
        height: auto;
        max-height: 100%
    }
}

@media(max-width: 1200px) {
    .details-annonce .content-annonce div.blanc.bg .galerie {
        width: 50%
    }

    .details-annonce .content-annonce div.blanc.bg .texte {
        width: 50%;
        margin-left: 50%
    }

    .details-annonce .content-annonce div.blanc.bg .texte .h3 {
        margin: 3rem 0
    }

    .details-annonce .content-annonce div.blanc.bg .texte b.rouge {
        font-size: 18px
    }

    .details-annonce .content-annonce div.blanc.bg .texte .prix {
        margin: 3rem 0
    }
}

@media(max-width: 992px) {
    #annonces .annonce .img img {
        width: 100%;
        height: auto
    }

    #annonces .annonce .txt {
        min-height: 320px
    }

    .details-annonce .content-annonce div.blanc.bg {
        padding-bottom: 90rem
    }

    .details-annonce .content-annonce div.blanc.bg .galerie {
        width: 100%;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        height: 90rem
    }

    .details-annonce .content-annonce div.blanc.bg .texte {
        width: 100%;
        margin-left: 0
    }

    .details-annonce .content-annonce div.blanc.bg .texte .h3 {
        margin: 3rem 0
    }

    .details-annonce .content-annonce div.blanc.bg .texte b.rouge {
        font-size: 18px
    }

    .details-annonce .content-annonce div.blanc.bg .texte .prix {
        margin: 3rem 0
    }

    .details-annonce .content-annonce div.blanc.bg .texte .prix span {
        font-size: 16px;
        letter-spacing: 0
    }

    #map-localisation {
        height: 90rem;
        margin-top: 10rem
    }

    .bouton-visite-vr {
        font-size: 12px
    }
}

@media(max-width: 760px) {
    #annonces .icon-etoile.rouge {
        position: absolute;
        top: 0;
        bottom: auto;
        left: auto;
        right: -5rem;
        z-index: 4
    }

    #annonces .annonce .txt {
        min-height: 320px;
        max-height: 320px
    }

    .details-annonce .barre-rouge-2 {
        display: none
    }

    .details-annonce header {
        padding-top: 60px;
        padding-bottom: 20px
    }

    .details-annonce header .bouton {
        height: 40px;
        line-height: 40px
    }

    .details-annonce .content-annonce div.blanc.bg {
        padding-bottom: 70rem
    }

    .details-annonce .content-annonce div.blanc.bg .galerie {
        height: 70rem
    }

    .details-annonce .content-annonce div.blanc.bg .texte {
        width: 100%;
        margin-left: 0;
        padding: 25px 15px
    }

    .details-annonce .content-annonce div.blanc.bg .texte b.rouge {
        font-size: 16px
    }

    .details-annonce .content-annonce div.blanc.bg .texte .prix span {
        font-size: 14px;
        letter-spacing: 0
    }

    #map-localisation {
        height: 90rem;
        margin-top: 10rem;
        margin: 10rem 15px 0 15px;
        width: calc(100% - 30px)
    }

    #dpe .row>div {
        text-align: center
    }

    #dpe h3 {
        text-align: center
    }
}

@media(max-width: 480px) {
    #annonces .icon-etoile.rouge {
        position: absolute;
        top: 0;
        bottom: auto;
        left: auto;
        right: -10rem;
        z-index: 4;
        opacity: .5
    }

    .details-annonce .row.details .detail-bien {
        width: 100% !important
    }

    .bouton-visite-vr {
        font-size: 11px;
        height: 50px
    }
}

.bloc-content.gestion .barre-rouge {
    top: 0rem;
    right: auto;
    left: 0;
    width: 5rem;
    height: 29rem
}

.bloc-content.gestion .barre-rouge.alt {
    top: 6rem;
    right: 0;
    left: auto;
    height: 5rem;
    width: 29rem
}

.bloc-content.gestion .visuel-background {
    left: 0;
    right: auto
}

.bloc-content.gestion .visuel-background:after {
    left: auto;
    right: 0;
    width: 80rem;
    background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 100%)
}

.bloc-content.gestion .visuel-illustration {
    margin-top: 8rem;
    margin-bottom: 4rem
}

.bloc-content.gestion .visuel-illustration img {
    left: 0px;
    right: auto
}

.bloc-content.gestion .text-secondaire {
    left: 15px;
    right: 0;
    padding-bottom: 15rem
}

.bloc-content.gestion .gradient {
    width: auto;
    position: absolute;
    top: auto;
    bottom: 0;
    left: -20%;
    right: 0;
    z-index: 5;
    height: 15rem;
    background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
}

@media(max-width: 1590px) {
    .bloc-content.gestion .visuel-background:after {
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 70%, rgba(255, 255, 255, 0) 100%)
    }
}

@media(max-width: 1200px) {
    .bloc-content.gestion .visuel-background:after {
        width: 100rem;
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 70%, rgba(255, 255, 255, 0) 100%)
    }
}

@media(max-width: 992px) {
    .bloc-content.gestion .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.gestion .text-secondaire {
        left: 0px;
        right: 0;
        padding-bottom: 15rem
    }

    .bloc-content.gestion .gradient {
        width: auto;
        position: absolute;
        top: auto;
        bottom: 0;
        left: -20%;
        right: 0;
        z-index: 15;
        height: 15rem;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
    }
}

@media(max-width: 760px) {
    .bloc-content.gestion .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 80%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.gestion .text-main {
        padding-top: 10rem
    }

    .bloc-content.gestion .text-secondaire {
        left: 0px;
        right: 0;
        padding-bottom: 15rem
    }

    .bloc-content.gestion .gradient {
        width: auto;
        position: absolute;
        top: auto;
        bottom: 0;
        left: -20%;
        right: 0;
        z-index: 15;
        height: 15rem;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
    }
}

@media(max-width: 480px) {
    #annonces .icon-etoile.rouge {
        position: absolute;
        top: 0;
        bottom: auto;
        left: auto;
        right: -10rem;
        z-index: 4;
        opacity: .5
    }

    .details-annonce .row.details .detail-bien {
        width: 100% !important
    }
}

.bloc-content.garantie .barre-rouge {
    top: 0;
    right: 0;
    left: auto;
    width: 5rem;
    height: 29rem
}

.bloc-content.garantie .visuel-background {
    left: 0;
    right: auto
}

.bloc-content.garantie .visuel-background:after {
    left: auto;
    right: 0;
    width: 60rem;
    background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)
}

.bloc-content.garantie .visuel-illustration {
    margin-top: 10rem;
    margin-bottom: 4rem
}

.bloc-content.garantie .visuel-illustration img {
    left: 15px;
    right: auto
}

.bloc-content.garantie .text-secondaire {
    left: 15px;
    right: 0;
    padding-bottom: 15rem
}

.bloc-content.garantie .gradient {
    width: auto;
    position: absolute;
    top: auto;
    bottom: 0;
    left: -20%;
    right: 0;
    z-index: 5;
    height: 15rem;
    background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
}

@media(max-width: 1590px) {
    .bloc-content.garantie .visuel-background:after {
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 100%)
    }
}

@media(max-width: 1200px) {
    .bloc-content.garantie .visuel-background:after {
        width: 100rem;
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)
    }
}

@media(max-width: 992px) {
    .bloc-content.garantie .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.garantie .text-secondaire {
        left: 0px;
        right: 0;
        padding-bottom: 15rem
    }

    .bloc-content.garantie .gradient {
        width: auto;
        position: absolute;
        top: auto;
        bottom: 0;
        left: -20%;
        right: 0;
        z-index: 15;
        height: 15rem;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
    }

    .bloc-content.garantie .visuel-illustration img {
        left: 0px;
        right: auto
    }
}

@media(max-width: 760px) {
    .bloc-content.garantie .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 80%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.garantie .text-main {
        padding-top: 10rem
    }

    .bloc-content.garantie .text-secondaire {
        left: 0px;
        right: 0;
        padding-bottom: 15rem
    }

    .bloc-content.garantie .gradient {
        width: auto;
        position: absolute;
        top: auto;
        bottom: 0;
        left: -20%;
        right: 0;
        z-index: 15;
        height: 15rem;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255) 50%)
    }
}

@media(max-width: 480px) {
    #annonces .icon-etoile.rouge {
        position: absolute;
        top: 0;
        bottom: auto;
        left: auto;
        right: -10rem;
        z-index: 4;
        opacity: .5
    }

    .details-annonce .row.details .detail-bien {
        width: 100% !important
    }
}

.bloc-content.visite .barre-rouge {
    top: auto;
    bottom: 5rem;
    left: 0;
    right: auto;
    width: 5rem;
    height: 29rem
}

.bloc-content.visite .barre-rouge.alt {
    width: 29rem;
    top: 6rem;
    height: 5rem;
    right: 0;
    left: auto;
    bottom: auto
}

.bloc-content.visite .visuel-background {
    left: 0;
    right: auto;
    height: 113rem;
    overflow: hidden
}

.bloc-content.visite .visuel-background:after {
    left: auto;
    right: 0;
    width: 70rem;
    background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 100%)
}

.bloc-content.visite .visuel-illustration {
    margin-top: 5rem;
    margin-bottom: 5rem
}

.bloc-content.visite .visuel-illustration img {
    left: 15px;
    right: auto
}

.bloc-content.visite span.cadre {
    vertical-align: top;
    display: inline-block;
    text-align: center;
    font-size: 16px;
    font-family: gotham-m;
    padding: 2rem 5rem;
    border: solid 3px #ed1c24;
    margin-top: 0rem
}

.bloc-content.visite span.cadre .logo-vrv {
    width: 25rem;
    height: auto;
    margin-top: 15px;
    min-width: 180px
}

.bloc-content.visite .avantages-visite-virtuelle {
    padding: 0rem 0 12rem 0
}

.bloc-content.visite .avantages-visite-virtuelle .border p {
    padding-bottom: 6rem;
    border-bottom: solid 1px #ed1c24
}

.bloc-content.visite .txt-avantages {
    margin-top: -5rem
}

.bloc-content.visite .conteneur-bt-video {
    height: 80rem
}

.bloc-content.visite .bt-video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    display: inline-block;
    width: 22rem;
    height: 22rem;
    margin: auto;
    text-align: center;
    font-size: 20px;
    color: #ed1c24;
    background: rgba(255, 255, 255, .8);
    padding: 2rem;
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between
}

.bloc-content.visite .bt-video span {
    display: inline-block;
    width: 10rem;
    height: 10rem;
    background: #ed1c24;
    border-radius: 50%;
    margin: auto;
    position: relative;
    animation: bounce2 1.5s linear infinite
}

.bloc-content.visite .bt-video span:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    right: 0;
    z-index: 1;
    margin: auto;
    width: 1px;
    height: 1px;
    content: "";
    border: solid 15px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

div.layout {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -5;
    opacity: 0;
    transition: opacity .7s ease;
    background: rgba(0, 0, 0, .9)
}

div.layout.active {
    opacity: 1;
    z-index: 100000
}

div.layout.unactive {
    opacity: 0;
    z-index: 100000
}

div.layout span.icon-close {
    cursor: pointer;
    color: #fff;
    position: absolute;
    top: 30px;
    bottom: auto;
    left: auto;
    right: 30px;
    z-index: 100000;
    font-size: 24px
}

div.layout .iframe-modal {
    width: 75%;
    height: 75%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000000;
    margin: auto;
    border: none
}

@media(max-width: 1590px) {
    .bloc-content.visite .visuel-background:after {
        width: 80rem;
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 100%)
    }

    .bloc-content.visite .bt-video {
        width: 24rem;
        height: 22rem
    }

    .bloc-content.visite .bt-video span:after {
        border: solid 12px;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
    }

    .bloc-content.visite .txt-avantages {
        margin-top: -21rem
    }
}

@media(max-width: 1200px) {
    .bloc-content.visite .visuel-background:after {
        width: 100rem;
        background: linear-gradient(to left, rgb(255, 255, 255), rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 100%)
    }

    .bloc-content.visite .bt-video {
        width: 28rem;
        height: 24rem
    }

    .bloc-content.visite .bt-video span:after {
        border: solid 12px;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
    }

    .bloc-content.visite .txt-avantages {
        margin-top: -13rem
    }
}

@media(max-width: 992px) {
    .bloc-content.visite .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.visite .visuel-illustration img {
        left: 0px;
        right: auto
    }

    .bloc-content.visite span.cadre {
        border: solid 2px #ed1c24
    }

    .bloc-content.visite .avantages-visite-virtuelle>div+div {
        margin-top: 10rem
    }

    .bloc-content.visite .conteneur-bt-video {
        height: 20rem;
        text-align: left;
        margin-bottom: -16rem
    }

    .bloc-content.visite .bt-video {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        display: inline-block;
        width: 65rem;
        height: auto;
        margin: 0;
        text-align: center;
        font-size: 18px;
        background: none;
        padding: 0rem;
        border-radius: 0px;
        right: auto;
        left: 15px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: left
    }

    .bloc-content.visite .bt-video span {
        margin-right: 20px
    }

    .bloc-content.visite .bt-video span:after {
        left: 14px;
        border: solid 12px;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
    }

    .bloc-content.visite .txt-avantages {
        margin-top: 5rem
    }

    div.layout span.icon-close {
        position: absolute;
        top: 15px;
        bottom: auto;
        left: auto;
        right: 15px;
        z-index: 100000;
        font-size: 20px
    }
}

@media(max-width: 760px) {
    .bloc-content.visite .barre-rouge {
        bottom: 15rem
    }

    .bloc-content.visite .barre-rouge.alt {
        display: none
    }

    .bloc-content.visite .visuel-background {
        height: auto
    }

    .bloc-content.visite .visuel-background img {
        width: 100%;
        height: auto !important
    }

    .bloc-content.visite .visuel-background:after {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 70%;
        background: linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))
    }

    .bloc-content.visite .avantages-visite-virtuelle>div div.row div+div {
        margin-top: 5rem
    }

    .bloc-content.visite .text-main {
        padding-top: 10rem
    }

    .bloc-content.visite .conteneur-bt-video {
        height: 20rem;
        text-align: left;
        margin-bottom: 20vw;
        margin-top: -10vw
    }

    .bloc-content.visite .bt-video {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        display: inline-block;
        width: 65rem;
        height: auto;
        margin: 0;
        text-align: center;
        font-size: 18px;
        background: none;
        padding: 0rem;
        border-radius: 0px;
        right: auto;
        left: 15px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: left
    }

    .bloc-content.visite .bt-video span {
        margin-right: 20px
    }

    .bloc-content.visite .bt-video span:after {
        left: 14px;
        border: solid 12px;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
    }
}

#formulaire-contact {
    padding: 10rem 0;
    background: url(../images/formulaire-contact-accimmo.jpg) no-repeat center center;
    background-size: cover;
    position: relative
}

#formulaire-contact:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    background: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 80%)
}

#formulaire-contact form {
    margin-top: 5rem
}

#formulaire-contact form input[type=text],
#formulaire-contact form input[type=tel],
#formulaire-contact form input[type=email],
#formulaire-contact form textarea {
    transition: all .4s ease;
    width: 100%;
    height: 40px;
    border: solid 1px #262524;
    margin-bottom: 20px;
    padding: 0 20px
}

#formulaire-contact form input[type=text]:focus,
#formulaire-contact form input[type=tel]:focus,
#formulaire-contact form input[type=email]:focus,
#formulaire-contact form textarea:focus {
    background: #ededed
}

#formulaire-contact form textarea {
    height: 280px;
    padding-top: 8px
}

#formulaire-contact .input-field {
    position: relative
}

#formulaire-contact .input-field .c-form_legals {
    margin-top: 0px;
    margin-bottom: 15px;
    padding-left: 40px
}

#formulaire-contact .input-field .c-form_legals.error {
    color: #ed1c24;
    text-decoration: underline
}

#formulaire-contact input[type=checkbox]#consentement {
    width: 30px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto
}

.c-form_legals {
    font-size: 12px;
    line-height: 16px;
    margin-top: 15px
}

#bloc-agences-contact {
    padding: 8rem 0 0 0;
    background: #262524 url(../images/background-agences-contact.jpg) no-repeat right bottom;
    background-size: 40% auto
}

#bloc-agences-contact .agences {
    display: flex;
    align-items: flex-start;
    margin-top: 8rem;
    flex-wrap: wrap;
    justify-content: flex-start
}

#bloc-agences-contact .agences p {
    width: 33.333% !important;
    margin-bottom: 8rem;
    padding: 0 15px
}

#bloc-agences-contact .agences p .titre {
    font-size: 20px;
    position: relative;
    letter-spacing: .05em;
    vertical-align: top;
    display: inline-block
}

#bloc-agences-contact .agences p .titre .icon-etoile {
    position: absolute;
    top: 2px;
    bottom: auto;
    left: -30px;
    right: auto;
    z-index: 1
}

#bloc-agences-contact .agences p a.modalVR {
    display: inline-block;
    width: 100%;
    max-width: 350px;
    height: auto;
    position: relative;
    background: #262524;
    overflow: hidden
}

#bloc-agences-contact .agences p a.modalVR img {
    width: 100%;
    height: auto;
    opacity: .8
}

#bloc-agences-contact .agences p a.modalVR span.texte {
    font-size: 14px;
    color: #fff;
    width: 100%;
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: -20px;
    opacity: 0;
    text-align: center
}

#bloc-agences-contact .agences p a.modalVR span.icone-video {
    width: 50px;
    height: 50px;
    border: solid 2px #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    border-radius: 50%;
    margin: auto;
    background: rgba(255, 255, 255, .15)
}

#bloc-agences-contact .agences p a.modalVR span.icone-video:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 1px;
    border: solid 9px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 11px;
    right: 0;
    z-index: 1;
    margin: auto;
    transition: all .5s ease
}

#bloc-agences-contact .agences p a.modalVR:hover img {
    opacity: .3
}

#bloc-agences-contact .agences p a.modalVR:hover span.icone-video {
    transform: scale(1.2)
}

#bloc-agences-contact .agences p a.modalVR:hover span.texte {
    bottom: 10px;
    opacity: 1
}

#bloc-agences-contact .agences p img {
    width: 100%;
    max-width: 350px
}

#bloc-agences-contact .agences p .tel {
    font-size: 20px;
    letter-spacing: .05em
}

@media(max-width: 1590px) {
    #bloc-agences-contact {
        background-size: 45% auto
    }

    #bloc-agences-contact .agences p {
        width: 33.333% !important;
        padding: 0 15px
    }

    #bloc-agences-contact .agences p .titre {
        font-size: 18px
    }

    #bloc-agences-contact .agences p .titre .icon-etoile {
        position: absolute;
        top: 2px;
        bottom: auto;
        left: -25px;
        right: auto;
        z-index: 1
    }

    #bloc-agences-contact .agences p .tel {
        font-size: 18px
    }
}

@media(max-width: 1200px) {
    #formulaire-contact:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        background: linear-gradient(to right, rgb(255, 255, 255), rgb(255, 255, 255) 60%, rgba(255, 255, 255, 0) 90%)
    }

    #bloc-agences-contact {
        background-size: 45% auto
    }

    #bloc-agences-contact .agences p {
        width: 45% !important;
        padding: 0 15px
    }

    #bloc-agences-contact .agences p .titre {
        font-size: 18px
    }

    #bloc-agences-contact .agences p .titre .icon-etoile {
        position: absolute;
        top: 2px;
        bottom: auto;
        left: -25px;
        right: auto;
        z-index: 1
    }

    #bloc-agences-contact .agences p .tel {
        font-size: 18px
    }
}

@media(max-width: 992px) {
    #formulaire-contact {
        background-size: 100% auto;
        background-position: center top;
        padding-top: 30vw
    }

    #formulaire-contact:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: auto;
        left: 0;
        right: 0;
        z-index: 1;
        height: 45vw;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgb(255, 255, 255) 70%)
    }

    #bloc-agences-contact {
        background-size: 80% auto
    }

    #bloc-agences-contact .agences p {
        width: 45% !important;
        padding: 0 15px
    }

    #bloc-agences-contact .agences p .titre {
        font-size: 16px
    }

    #bloc-agences-contact .agences p .titre .icon-etoile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto
    }

    #bloc-agences-contact .agences p .tel {
        font-size: 16px
    }
}

@media(max-width: 760px) {
    #formulaire-contact form textarea {
        height: 200px
    }

    #bloc-agences-contact .agences p {
        width: 100% !important;
        text-align: center
    }

    #bloc-agences-contact .agences p img {
        width: 100%;
        max-width: 320px
    }

    #bloc-agences-contact .agences p .tel {
        font-size: 20px;
        letter-spacing: .05em
    }
}

#main.mentions {
    padding: 12rem 0
}

#main.mentions p+p {
    margin-top: 4rem
}

.intro-parrainage {
    padding: 10rem 0
}

.intro-parrainage .row.formulaire {
    padding: 5rem 0
}

.intro-parrainage .row.formulaire form {
    margin-top: 5rem
}

.intro-parrainage .row.formulaire form input[type=text],
.intro-parrainage .row.formulaire form input[type=tel],
.intro-parrainage .row.formulaire form input[type=email],
.intro-parrainage .row.formulaire form textarea {
    transition: all .4s ease;
    width: 100%;
    max-width: 480px;
    height: 40px;
    border: solid 1px #262524;
    margin-bottom: 20px;
    padding: 0 20px
}

.intro-parrainage .row.formulaire form input[type=text]:focus,
.intro-parrainage .row.formulaire form input[type=tel]:focus,
.intro-parrainage .row.formulaire form input[type=email]:focus,
.intro-parrainage .row.formulaire form textarea:focus {
    background: #ededed
}

.intro-parrainage .row.formulaire form input[type=checkbox] {
    margin-right: 15px
}

.intro-parrainage .row.formulaire form em {
    font-size: 11px;
    display: inline-block;
    line-height: normal
}

.intro-parrainage .row.formulaire form textarea {
    height: 280px;
    padding-top: 8px
}

.intro-parrainage .row.formulaire form .input-field {
    display: inline-block;
    width: 100%;
    margin-bottom: 20px
}

.intro-parrainage .row.formulaire form .input-field input,
.intro-parrainage .row.formulaire form .input-field textarea {
    margin-bottom: 0
}

.intro-parrainage .row.formulaire form .input-field::after {
    margin-top: 0;
    display: block;
    content: "";
    height: 0;
    opacity: 0;
    transition: .5s all ease-out
}

.intro-parrainage .row.formulaire form .input-field.error::after {
    height: 15px;
    margin: 5px;
    content: attr(data-message);
    color: red;
    opacity: 1;
    font-size: 10px;
    line-height: 1rem;
    letter-spacing: .05em;
    text-align: left;
    top: 0;
    padding: 0 15px
}

.overlayForm {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, .8);
    transition: all .6s ease
}

.overlayForm .form-msg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    margin: auto;
    height: 30vh;
    width: 30vw;
    background: #fff;
    opacity: 0;
    transform: translateY(-5rem);
    transition: all .5s ease;
    display: flex;
    align-items: center;
    justify-content: center
}

.overlayForm .form-msg p {
    font-size: 16px;
    text-align: center;
    font-family: gotham;
    color: #262524
}

.overlayForm .form-msg.active {
    opacity: 1;
    transform: none
}

.overlayForm .form-msg img {
    position: absolute;
    right: 15px;
    top: 15px;
    max-width: 20px;
    cursor: pointer
}

@media(max-width: 1200px) {
    .overlayForm .form-msg {
        width: 40vw;
        height: 40vh
    }
}

@media(max-width: 768px) {
    .overlayForm .form-msg {
        width: 60vw;
        height: 40vh
    }
}

@media(max-width: 480px) {
    .overlayForm .form-msg {
        width: 85vw;
        height: 40vh
    }
}

.overlayForm.close {
    opacity: 0
}

.overlayForm.close .form-msg {
    opacity: 0;
    transform: translateY(-5rem)
}