/* GLOBAL */
/* ANIMATION */
/* SLIDESHOW */
/* BANDEAU */
/* TEXT 2 */
/* ENCADRE */
/* AVANTAGES */
/* APPARTEMENTS */
/* MAP */
/* CONTACT */
/* FOOTER */
/* INNER PAGE */

/*
 * Couleurs :
 * - Violet : #591038
 * - Doré   : #d69b07
 */



/* GLOBAL */
body {
    margin: 0;
    padding: 0;
    font-family: 'Interstate';
}
p, ul, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
}
.container {
    max-width: 88.75em;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
.c-gold {
    color: #d69b07;
}
*, *::before, *::after {
    box-sizing: border-box;
}
b {
    font-weight: 700;
}
input {
    font-family: inherit;
    font-size: inherit;
}
button {
    cursor: pointer;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #591038;
    opacity: 0.5;
    font-style: italic;
    font-size: 1em;
}
::-moz-placeholder { /* Firefox 19+ */
    color: #591038;
    opacity: 0.5;
    font-style: italic;
    font-size: 1em;
}
:-ms-input-placeholder { /* IE 10+ */
    color: #591038;
    opacity: 0.5;
    font-style: italic;
    font-size: 1em;
}
:-moz-placeholder { /* Firefox 18- */
    color: #591038;
    opacity: 0.5;
    font-style: italic;
    font-size: 1em;
}
/* GLOBAL */



/* ANIMATION */
.section-animation {
    position: relative;
    background-color: #591038;
    height: 100vh;
    cursor: pointer;
    overflow: hidden;
}
.animation-leaf,
.animation-24,
.animation-logo,
.animation-text,
.animation-text-scroll {
    position: absolute;
    transition-property: opacity, visibility;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
}
.animation-leaf {
    top: 10vh;
    left: calc(50% - 28vh);
    height: 68.982vh;
    mix-blend-mode: multiply;
    opacity: 0;
    visibility: hidden;
    transition-property: top, height, left, opacity, visibility;
}
.animation-24 {
    height: 40.557vh;
    top: 31.6vh;
    left: calc(50% - 20.3vh);
    opacity: 0;
    visibility: hidden;
    transition-property: top, height, left, opacity, visibility;
}
.animation-logo {
    top: 26.7vh;
    left: calc(50% - 24.7vh);
    height: 40.138vh;
    opacity: 0;
    visibility: hidden;
}
.animation-text {
    font-size: 4.75vh;
    text-align: center;
    width: 100%;
    left: 0;
    top: 36.2vh;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
    padding-left: 1.8em;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.1em;
    opacity: 0;
    visibility: hidden;
}
.animation-text::before,
.animation-text::after {
    content: "";
    position: absolute;
    background-image: url(../images/apostrophe.png);
    font-size: 3.15em;
    width: 1em;
    height: 0.7256em;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    left: calc(50% - 2.65em);
    top: 0.34em;
    opacity: 0.4;
}
.animation-text::after {
    top: 1.95em;
    left: calc(50% + 4.05em);
    font-size: 1.84em;
    transform: rotate(180deg);
}
.animation-text-scroll {
    font-size: 2.31vh;
    text-align: center;
    width: 100%;
    left: 0;
    bottom: 0;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
    padding-bottom: 3.05em;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.1em;
    opacity: 0;
    visibility: hidden;
}
.animation-text-scroll::after {
    content: "";
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0.9em 0.85em 0 0.85em;
    border-color: #d69b07 transparent transparent transparent;
    transform: rotate(0deg);
    bottom: 1.15em;
    left: calc(50% - 0.85em);

    -webkit-animation-iteration-count: infinite;
    -webkit-animation-duration: 2s;
    -webkit-animation-name: bouncing_element;

    -o-animation-iteration-count: infinite;
    -o-animation-duration: 2s;
    -o-animation-name: bouncing_element;

    -moz-animation-iteration-count: infinite;
    -moz-animation-duration: 2s;
    -moz-animation-name: bouncing_element;

    -ms-animation-iteration-count: infinite;
    -ms-animation-duration: 2s;
    -ms-animation-name: bouncing_element;

    animation-iteration-count: infinite;
    animation-duration: 2s;
    animation-name: bouncing_element;

    animation-timing-function: linear;
}

@-webkit-keyframes bouncing_element {
    0%  {transform: translateY(0)}
    15% {transform: translateY(-50%)}
    30% {transform: translateY(0)}
    35% {transform: translateY(-25%)}
    40% {transform: translateY(0)}
}
@-moz-keyframes fleche {
    0%  {transform: translateY(0)}
    15% {transform: translateY(-50%)}
    30% {transform: translateY(0)}
    35% {transform: translateY(-25%)}
    40% {transform: translateY(0)}
}
@-ms-keyframes fleche {
    0%  {transform: translateY(0)}
    15% {transform: translateY(-50%)}
    30% {transform: translateY(0)}
    35% {transform: translateY(-25%)}
    40% {transform: translateY(0)}
}
@-o-keyframes fleche {
    0%  {transform: translateY(0)}
    15% {transform: translateY(-50%)}
    30% {transform: translateY(0)}
    35% {transform: translateY(-25%)}
    40% {transform: translateY(0)}
}



/* On affiche la feuille en fond et le texte */
.section-animation.step-1 .animation-leaf,
.section-animation.step-2 .animation-leaf {
    opacity: 0.2;
    visibility: visible;
}
.section-animation.step-1 .animation-text {
    opacity: 1;
    visibility: visible;
    transition-delay: 1s;
}

/* On affiche le 24 et on cache le texte */
.section-animation.step-3 .animation-leaf {
    opacity: 0.27;
}
.section-animation.step-2 .animation-24 {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.75s;
}

/* On réduit la feuille et on décale le 24 pour qu'ils se positionnent où se trouvera le logo */
.section-animation.step-3 .animation-leaf {
    opacity: 0.3;
    visibility: visible;
    top: 19vh;
    height: 36.9vh;
    left: calc(50% - 13vh);
}
.section-animation.step-3 .animation-24 {
    opacity: 1;
    visibility: visible;
    top: 26.6vh;
    left: calc(50% - 8.1vh);
    height: 21.6vh;
}

/* Dernière étape, on affiche le logo, on cache le 24 et la feuille et on affiche le texte qui invite à scroller */
.section-animation.step-4 .animation-leaf {
    top: 19vh;
    height: 36.9vh;
    left: calc(50% - 13vh);
    opacity: 0.3;
    visibility: visible;
}
.section-animation.step-4 .animation-24 {
    top: 26.6vh;
    left: calc(50% - 8.1vh);
    height: 21.6vh;
    transition-property: top, height, left, opacity, visibility;
    transition-delay: 0s, 0s, 0s, 1s, 1s;
}
.section-animation.step-4 .animation-logo {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.5s;
}
.section-animation.step-4 .animation-text-scroll {
    opacity: 1;
    visibility: visible;
    transition-delay: 1s;
}
/* ANIMATION */



/* SLIDESHOW */
.section-slideshow {
    overflow: hidden;
    position: relative;
}
.section-slideshow-list {
    list-style: none;
    padding: 0;
    margin: 0;
    height: 40.9vw;
    position: relative;
}
.section-slideshow-item {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    transition-property: opacity, visibility;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
    transition-delay: .5s;
}
.section-slideshow-item.show {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.section-slideshow-cgipi-logo-container {
    color: #fff;
    text-decoration: none;
    position: absolute;
    z-index: 10;
    background-color: rgba(10, 0, 0, 0.5);
    padding: 0.4em 1em;
    font-size: 1.7em;
    font-weight: 100;
    line-height: 1.5;
    width: 10.5em;
    height: 6em;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    left: calc(50% - 5.25em);
    top: calc(50% - 3em);
}
.section-slideshow-cgipi-logo {
    width: 8.3em;
}

.sticky-bloc-contact {
    position: absolute;
    top: 9.4vw;
    z-index: 10;
    right: 0;
    background: #d69b07;
    font-size: 1.25rem;
    width: 15.4em;
    text-align: center;
    padding: 2.1em 0.9em 1.6em 0.9em;
    cursor: pointer;
    box-shadow: 0.4em 0.4em 0.6em 0em rgba(0, 0, 0, 0.3);
    transition: transform .5s ease-in-out;
}
.sticky-bloc-contact-title {
    display: inline-block;
    text-transform: uppercase;
    color: #fff;
    font-size: 0.85em;
    background-color: #591038;
    padding: 0.5em 0.7em 0.2em;
    margin-bottom: 0.5em;
    letter-spacing: 0.04em;
}
.sticky-bloc-contact-content {
    color: #591038;
    margin-bottom: 0.65em;
    line-height: 1.2;
}
.sticky-bloc-contact-btn {
    color: #561038;
    background: #fff;
    display: inline-block;
    line-height: 1;
    padding: 0.3em 3.1em 0.3em 1.8em;
    font-size: 0.85em;
    border-radius: 0.5em;
    position: relative;
    margin: 0;
}
.sticky-bloc-contact-btn::after {
    content: "<";
    font-size: 1.2em;
    font-weight: 700;
    position: absolute;
    top: 0.05em;
    line-height: 1;
    right: 0.9em;
}
.scrolled-more-than-screen .sticky-bloc-contact {
    position: fixed;
    top: 9.2vw;
}
.scrolled-more-than-screen.contact-form-reached .sticky-bloc-contact {
    transform: translateX(100%);
}


.sticky-bloc-contact-mobile {
    display: none;
    position: absolute;
    right: 0;
    top: 133vh;
    background: #d69b07;
    z-index: 10;
    width: 6.3em;
    height: 5.1em;
    color: #fff;
    font-size: 0.8em;
    border-radius: 6em 0em 0em 6em;
}
.sticky-bloc-contact-mobile-svg {
    position: absolute;
    border: solid 0.2em #fff;
    top: 0.5em;
    left: 0.4em;
    width: 4.2em;
    height: 4.2em;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sticky-bloc-contact-mobile-svg svg {
    width: 1.6em;
    stroke: #fff;
}
.sticky-bloc-contact-mobile-text {
    margin: 0;
    position: absolute;
    transform: rotate(-90deg);
    right: -1.3em;
    top: 2.05em;
    line-height: 1;
}

.scrolled-more-than-screen .sticky-bloc-contact-mobile {
    position: fixed;
    top: 33vh;
}
.scrolled-more-than-screen.contact-form-reached .sticky-bloc-contact-mobile {
    transform: translateX(100%);
}
/* SLIDESHOW */



/* BANDEAU */
.content-intro {
    background: #591038;
}
.content-intro .container {
    position: relative;
}
.intro-h1-img {
    margin: 0;
    padding: 0;
    height: 8.9em;
    position: absolute;
    top: 3.7em;
    left: 4.7em;
}
.intro-h1-img::before {
    content: "";
    position: absolute;
    top: -2em;
    left: 2.7em;
    background-image: url(../images/animation-feuille.png);
    mix-blend-mode: multiply;
    height: 8.125em;
    width: 8.3125em;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.5;
}
.intro-logo {
    position: relative;
}
.intro-content-container {
    color: #fff;
    padding-left: 47.6em;
    padding-top: 17.2em;
    padding-bottom: 5.75em;
}
.intro-content-container .animation-text {
    opacity: 1;
    visibility: visible;
    font-size: 2.24em;
    top: 2.8em;
    left: auto;
    right: 6.1em;
    width: auto;
    padding: 0;
}
.intro-content-container .animation-text::before {
    top: -0.05em;
    left: -0.95em;
}
.intro-content-container .animation-text::after {
    top: 1.3em;
    left: auto;
    right: -1.1em;
}
.intro-text {
    font-size: 1.47em;
    line-height: 1.47;
    padding-left: 1.3em;
    width: 19em;
    text-align: justify;
    letter-spacing: -0.022em;
    position: relative;
    margin: 0;
}
.intro-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    bottom: 0.4em;
    width: 0.2em;
    background: #d69b07;
}
/* BANDEAU */


/* TEXT 2 */
.container-text-2 {
    padding-top: 7.8em;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 7.6em;
}
.container-text-2 .text-image-1 {
    width: 24.25em;
}
.container-text-2 .text-image-2 {
    width: 26.5em;
}
.text-2-content {
    width: 20em;
    color: #591038;
    font-size: 1.5235em;
    margin-top: -0.2em;
}
.text-2-intro {
    font-size: 1.016em;
    line-height: 1.4;
    letter-spacing: -0.02em;
    padding-bottom: 1.3em;
    margin-bottom: 0.95em;
    position: relative;
}
.text-2-intro::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -1em;
    width: 4.6em;
    height: 0.3em;
    background-color: #d69b07;
}
.text-2-text {
    font-weight: 300;
    margin-bottom: 0;
    line-height: 1.28;
    letter-spacing: -0.02em;
    text-align: justify;
}
/* TEXT 2 */



/* ENCADRE */
.framed-content-intro {
    background-color: #591038;
    display: flex;
    overflow: hidden;
    border-radius: 3em 0 0 0;
}
.framed-content-intro-text {
    width: 47.3213%;
}
.framed-content-intro-text {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    text-transform: uppercase;
    text-align: center;
    font-size: 1.754375em;
    font-weight: 300;
    letter-spacing: 0.11em;
    line-height: 1.2;
    padding-top: 0.5em;
    position: relative;
}
.framed-content-intro-text::before,
.framed-content-intro-text::after {
    content: "";
    background-image: url(../images/apostrophe.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 2.3em;
    width: 3em;
    position: absolute;
    top: 2.75em;
    left: 3.8em;
    opacity: 0.5;
}
.framed-content-intro-text::after {
    transform: rotate(180deg);
    top: 10.6em;
    left: 14.7em;
    width: 2.2em;
    height: 1.6em;
}
.framed-content-intro-text p {
    margin: 0;
    position: relative;
}
.framed-content-intro-text-penultimate-line {
    text-transform: none;
    color: #d69b07;
    font-family: 'JustOldFashion';
    font-size: 1.466em;
    letter-spacing: 0;
    line-height: 1;
    padding-top: 0.3em;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 0.5em;
    padding-right: 0.3em;
}
.framed-content-intro-text-penultimate-line span + span {
    font-size: 1.427em;
}
.framed-content-intro-text-last-line {
    font-size: 2.4913em;
    text-transform: none;
    color: #d69b07;
    font-family: 'JustOldFashion';
    line-height: 1;
    padding-right: 1.1em;
    letter-spacing: 0;
}
.framed-content-intro-image {
    width: 52.6787%;
    border-radius: 0 0 0 4.2em;
    overflow: hidden;
}
.framed-content-intro-image img {
    display: block;
    width: 100%;
}
/* ENCADRE */



/* AVANTAGES */
.framed-content-advantages-container {
    border: solid 0.1875em #d5c5ce;
    border-top: none;
    position: relative;
    padding-top: 4.4em;
    padding-bottom: 21em;
    border-radius: 0 0 2.8em 2.8em;
    margin-bottom: 20.6em;
}
.framed-content-advantages-container::before {
    content: "";
    background-image: url(../images/animation-feuille.png);
    background-repeat: no-repeat;
    position: absolute;
    height: 7.978em;
    width: 8.14175em;
    background-size: contain;
    background-position: center;
    top: 6.7em;
    left: 0.8em;
    opacity: 0.15;
    mix-blend-mode: multiply;
}
.framed-content-advantages-title {
    text-align: center;
    font-size: 3.2856em;
    font-style: italic;
    font-weight: 300;
    color: #d69b07;
    margin-bottom: 0.9em;
    position: relative;
    line-height: 1.2;
    padding-right: 0.6em;
}
.framed-content-advantages-title::before,
.framed-content-advantages-title::after {
    content: "";
    background-image: url(../images/apostrophe.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 0.75em;
    width: 1em;
    position: absolute;
    top: 0.04em;
    left: 3.4em;
    opacity: 0.5;
}
.framed-content-advantages-title::after {
    transform: rotate(180deg);
    top: 1.15em;
    left: auto;
    right: 3.45em;
    width: 1.3em;
    height: 1em;
}
.framed-content-advantages-title b {
    font-weight: 400;
}
.framed-content-advantages-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    color: #591038;
    font-size: 1.4375em;
    font-weight: 300;
    width: 50.8em;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: -0.01em;
    line-height: 1.25;
    height: 14.5em;
    grid-gap: 0.65em 7%;
}
.framed-content-advantages-item {
    max-width: 28%;
    position: relative;
}
.framed-content-advantages-item::before {
    content: ">";
    position: absolute;
    color: #d69b07;
    font-weight: 700;
    top: 0.1em;
    left: -0.6em;
    font-size: 1.4em;
    line-height: 1;
}
.framed-content-advantages-item p {
    margin: 0;
}
.framed-content-advantages-list b {
    font-size: 1.09em;
    hyphens: auto;
}
.framed-content-faded-title {
    font-family: 'JustOldFashion';
    text-align: center;
    opacity: 0.0888;
    color: #591038;
    font-size: 8.854375em;
    line-height: 0.9;
    letter-spacing: -0.01em;
    margin: 0;
}

.framed-content-bottom-content {
    position: absolute;
    bottom: -13.4em;
    right: 6.1em;
}
.framed-content-bottom-content img {
    position: absolute;
    right: 100%;
    bottom: 2.7em;
    width: 41em;
    max-width: none;
    max-height: none;
}
.framed-content-bottom-text-container {
    position: relative;
}
.framed-content-bottom-text-container::before {
    content: "";
    position: absolute;
    bottom: -1em;
    right: -1em;
    background: url(../images/fond-raye.png) repeat center center / 1em 0.75em;
    height: 100%;
    width: 100%;
}
.framed-content-bottom-text {
    color: #fff;
    background: #d69b07;
    font-size: 1.68em;
    text-align: center;
    padding: 1.7em 2.3em 2.1em;
    font-weight: 300;
    line-height: 1.3;
    position: relative;
}
.framed-content-bottom-text p {
    margin: 0;
}
.framed-content-bottom-text > *:first-child {
    font-size: 1.3em;
    text-transform: uppercase;
    line-height: 1.1;
    margin-bottom: 0.4em;
    letter-spacing: -0.06em;
}
/* AVANTAGES */



/* APPARTEMENTS */
.container-apartments {
    padding-top: 3.8em;
    padding-bottom: 5.3em;
    background-color: #f9f9f9;
}
.apartments-title {
    text-align: center;
    text-transform: uppercase;
    font-size: 3.375em;
    font-weight: 300;
    color: #591038;
    margin-bottom: 0.9em;
    line-height: 1.2;
    letter-spacing: 0.07em;
}
.apartments-title .c-gold {
    display: inline-block;
    padding-top: 0.1em;
}

.apartments-intro-container {
    background-color: #591038;
    border-radius: 4em 0em 0em 0em;
    display: flex;
}
.apartments-intro-content {
    color: #fff;
    font-size: 1.5625em;
    font-weight: 300;
    display: flex;
    flex-flow: column;
    hyphens: auto;
    text-align: justify;
    justify-content: center;
    padding: 0 5.4em 0 4.6em;
    width: 61.8%;
}
.apartments-intro-title {
    font-size: 2.1582em;
    font-family: 'JustOldFashion';
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1;
    margin-bottom: 0.09em;
}
.apartments-intro-subtitle {
    color: #d69b07;
    text-align: right;
    margin-bottom: 1.27em;
    letter-spacing: 0.04em;
}
.apartments-intro-text p {
    line-height: 1.2;
    margin-bottom: 0.7em;
}
.apartments-intro-img {
    width: 39.2%;
}
.apartments-intro-img.mobile {
    display: none;
}

.apartments-content2 {
    position: relative;
}
.apartments-content2::before {
    content: "";
    position: absolute;
    background-image: url(../images/arbre.jpg);
    top: 2em;
    left: -4.5em;
    width: 24.5em;
    height: 33.8125em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.apartments-content2-content-container {
    position: absolute;
    color: #591038;
    top: 3.5em;
    left: 19.6em;
    width: 32.9em;
}
.apartments-content2-content-container::before {
    content: "";
    position: absolute;
    background-image: url(../images/fond-raye.png);
    background-repeat: repeat;
    background-size: 1em 0.75em;
    top: -3.5em;
    left: -3.2em;
    width: 77%;
    height: 78%;
}
.apartments-content2-content {
    background-color: #fff;
    font-size: 1.4625em;
    font-weight: 300;
    padding: 2.7em 3em 3.7em 3.2em;
    line-height: 1.2;
    position: relative;
    border-radius: 3em 0em 3em 0em;
}
.apartments-content2-title {
    font-size: 1.32786em;
    margin-bottom: 0.5em;
    line-height: 1.15;
}
.apartments-content2-content p {
    margin-bottom: 0.7em;
}
.apartments-content2-content > p:last-child {
    margin-bottom: 0;
}
.apartments-content2-img {
    display: block;
    margin-right: 0;
    margin-left: auto;
    width: 61%;
    border-radius: 0 0 4em 0;
}

.apartments-content3 {
    display: flex;
    position: relative;
}
.apartments-content3-img-container {
    position: relative;
    width: 38.776%;
}
.apartments-content3-img {
    display: block;
}
.apartments-content3-img.mobile {
    display: none;
}
.apartments-content3-img-text {
    background-color: #d69b07;
    color: #fff;
    padding: 0.9em 1.5em 0.7em 1.8em;
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
    font-size: 1.2648em;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -0.02em;
    border-radius: 0 0 1.8em 0;
}
.apartments-content3-text {
    width: 61.224%;
    background-image: url(../images/illustration-voiture.png);
    background-repeat: no-repeat;
    background-position: top 1.2em right 0em;
    background-size: 29.94em 25.56em;
    font-size: 1.52825em;
    color: #591038;
    font-weight: 300;
    padding: 4.7em 0em 0em 4.4em;
    line-height: 1.2;
}
.apartments-content3-text-title {
    font-size: 1.0633em;
    letter-spacing: 0.02em;
    margin-bottom: 0.45em;
}
.apartments-content3-text li {
    margin-bottom: 0.8em;
}

.link-to-cgipi-container {
    text-align: right;
    padding: 0.5625em 5.8125em 0 0;
}
.link-to-cgipi {
    font-size: 1.9582em;
    background-color: #591038;
    display: inline-block;
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    position: relative;
    padding: 0.7em 1.1em 0.8em 2.5em;
    letter-spacing: 0.01em;
    border-radius: 2em;
    transition-property: color, background-color, padding;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
}
.link-to-cgipi-svg-container {
    border: solid 0.15em #d69b07;
    width: 3em;
    height: 3em;
    position: absolute;
    top: -0.15em;
    left: -1.5em;
    border-radius: 50%;
    outline: solid 0.3em #fff;
    background: #fff;
    stroke: #d69b07;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: left .5s ease-in-out;
}
.link-to-cgipi-svg-container .svg-arrow2 {
    width: 1em;
}
.link-to-cgipi .c-gold {
    transition: color .5s ease-in-out;
}

.link-to-cgipi:hover,
.link-to-cgipi:focus {
    background-color: #d69b07;
    padding: 0.7em 2.5em 0.8em 1.1em;
}
.link-to-cgipi:hover .c-gold,
.link-to-cgipi:focus .c-gold {
    color: #fff;
}
.link-to-cgipi:hover .link-to-cgipi-svg-container,
.link-to-cgipi:focus .link-to-cgipi-svg-container {
    left: calc(100% - 1.5em);
}
/* APPARTEMENTS */



/* MAP */
.section-map {
    color: #fff;
    background-color: #591038;
    padding-top: 5.15em;
    padding-bottom: 10.8em;
}
.section-map .container {
    max-width: 97em;
    position: relative;
}
.section-map-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 2.6952em;
    line-height: 1.3;
    margin-bottom: 1.13em;
    letter-spacing: -0.05em;
}
.section-map-title .c-gold {
    font-weight: 300;
    letter-spacing: -0.047em;
}
.section-map-img {
    width: 66em;
    display: block;
    border-radius: 3em;
}
.section-map-list {
    background-color: #591038;
    position: absolute;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    bottom: 9.5em;
    right: 0;
    width: 43em;
    border-radius: 0em 0em 0em 3em;
    font-size: 1.1857em;
    padding: 0em 3.9em 3.3em 3.5em;
    grid-gap: 2.4em 0em;
}
.section-map-list-item {
    width: 50%;
    display: flex;
    align-items: flex-start;
}
.section-map-list-svg-container {
    width: 4.9em;
}
.section-map-list-item svg {
    width: 100%;
    height: 100%;
    max-width: 4.2em;
    max-height: 3em;
}
.section-map-list-item .use-fill {
    fill: #d69b07;
}
.section-map-list-item .use-stroke {
    stroke: #d69b07;
}
.section-map-list-text {
    margin: 0;
    letter-spacing: -0.05em;
    font-weight: 300;
}
.section-map-list-text b {
    font-size: 1.3333em;
    text-transform: uppercase;
    letter-spacing: -0.045em;
}

.section-map-list-item.measure {
    width: 100%;
}
.svg-measure .use-stroke {
    fill: #591038;
}
.section-map-list-item .svg-measure {
    max-height: 4em;
}
.section-map-list-item .svg-car,
.section-map-list-item .svg-navette {
    max-height: 2em;
}

.section-map-list-item.walking {
    position: absolute;
    top: -2.04em;
    right: 2.8em;
    width: auto;
    font-size: 3.4em;
}
.section-map-list-item.walking .section-map-list-svg-container {
    width: auto;
}
/* MAP */



/* CONTACT */
.contact-banner {
    background-color: #d69b07;
    font-size: 1.1255em;
    position: relative;
    height: 12.5em;
}
.site-anchor {
    position: absolute;
    top: -50vh;
    height: 100%;
    transform: translateY(50%);
}
.contact-form {
    position: absolute;
    left: calc(50% - 28.7em);
    width: 60em;
    top: -3.3em;
    padding: 1.2em 2.2em 1.8em 2.5em;
    background: #fff;
    border-radius: 1.1em;
    color: #591038;
    font-weight: 300;
}
.contact-form.loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0.7);
    z-index: 10;
    background-image: url(../images/loading.gif);
    background-repeat: no-repeat;
    background-size: auto 90%;
    background-position: center;
}
.contact-form .link-to-cgipi-svg-container {
    top: 4.7em;
    font-size: 1.55em;
    border-width: 0.1em;
    outline-width: 0.2em;
}
.contact-form-title {
    font-weight: 400;
    font-size: 2.3043em;
    padding-bottom: 0.2em;
    margin-bottom: 0.6em;
    position: relative;
    width: 100%;
}
.contact-form-title::after {
    content: "";
    position: absolute;
    left: 0.65em;
    bottom: 0;
    height: 0.15em;
    width: 4.6em;
    background-color: #d69b07;
}
.field-group-container {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 1.4em 1em;
    margin-left: auto;
    margin-right: auto;
    padding-right: 3em;
    padding-left: 3em;
}
.field-group {
    width: calc(50% - 0.5em);
}
.field-group input {
    width: 100%;
    font-size: 1.2em;
    padding: 0.6em 1.5em;
    color: #591038;
    border: solid 1px #d69b07;
    transition: border-color .5s ease-in-out;
}
.field-group input:focus {
    border-color: #591038;
    outline: none;
}
.field-group.contact-form-infos {
    padding-top: 0.7em;
    line-height: 1.2;
}
.field-group.last {
    padding-top: 0.4em;
    text-align: right;
}
.field-submit-button {
    background-color: #d69b07;
    color: #fff;
    border: none;
    padding: 0.8em;
    text-transform: uppercase;
    font-family: inherit;
    font-size: 1.1em;
    transition: background-color .5s ease-in-out;
}
.field-submit-button:hover,
.field-submit-button:focus {
    background-color: #591038;
}
.contact-form-infos-link {
    color: inherit;
    transition: color .5s ease-in-out;
}
.contact-form-infos-link:hover,
.contact-form-infos-link:focus {
    color: #d69b07;
}
/* CONTACT */



/* FOOTER */
.site-footer {
    color: #fff;
    background-color: #591038;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 300;
    padding-bottom: 2em;
}
.footer-logo-list {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 13em;
    grid-gap: 0em 1.7em;
}
.footer-24courtille {
    padding-top: 1.4em;
    position: relative;
    margin-right: 1.8em;
}
.footer-24courtille::before {
    content: "";
    background-image: url(../images/animation-feuille.png);
    width: 10.2153em;
    height: 10em;
    position: absolute;
    mix-blend-mode: multiply;
    background-size: contain;
    background-position: center;
    top: -1.2em;
    left: 3.5em;
    opacity: 0.5;
}
.footer-24courtille img {
    width: 14.92792em;
    display: block;
    position: relative
}
.container-link-realisations {
    font-size: 2.3324em;
    padding-top: 0.8em;
    margin-bottom: 1.7em;
}
.container-link-realisations a {
    color: inherit;
    font-weight: 300;
    text-decoration: none;
    display: inline-block;
    letter-spacing: -0.02em;
    padding: 0.5em;
    position: relative;
    transition: color .5s ease-in-out;
}
.container-link-realisations a::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    background-color: #fff;
    width: 5.8em;
    left: calc(50% - 2.9em);
    transition-property: background-color, left, width;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
}
.container-link-realisations a:hover,
.container-link-realisations a:focus {
    color: #d69b07
}
.container-link-realisations a:hover::after,
.container-link-realisations a:focus::after {
    width: calc(100% - 1em);
    left: 0.5em;
    background-color: #d69b07;
}
.footer-cgipi img {
    width: 22.2308em;
}
.footer-cchartres img {
    width: 9.07693em;
}

.footer-last-container {
    max-width: 99em;
    display: flex;
    justify-content: space-between;
}
.social-network-container {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    text-transform: uppercase;
    align-items: center;
    grid-gap: 0 0.4em;
}
.social-network-container .text {
    margin-right: 0.6em;
}
.social-network-container a {
    display: flex;
    width: 2.1668em;
    height: 2.1668em;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
}
.social-network-container a::before,
.social-network-container a.instagram::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 50%;
    transition: background .5s ease-in-out;
}
.social-network-container a.instagram::after {
    background: #f09433; 
    background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); 
    background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
    background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
}
.social-network-container svg {
    fill: #591038;
    position: relative;
    z-index: 2;
    transition: fill .5s ease-in-out;
}
.social-network-container .facebook svg {
    height: 2em;
    bottom: -0.15em;
}
.social-network-container .facebook:hover::before {
    background-color: #3b5998;
}
.social-network-container a:hover svg {
    fill: #fff;
}
.social-network-container a.instagram:hover::after {
    opacity: 1;
    visibility: visible;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    text-transform: uppercase;
}
.footer-menu a {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    padding: 0.8em;
    position: relative;
    transition: color .5s ease-in-out;
}
.footer-menu a::after {
    content: "";
    position: absolute;
    bottom: 0.4em;
    height: 1px;
    background-color: #fff;
    width: 0;
    left: 50%;
    transition-property: background-color, left, width;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
}
.footer-menu a:hover,
.footer-menu a:focus {
    color: #d69b07
}
.footer-menu a:hover::after,
.footer-menu a:focus::after {
    width: calc(100% - 1.6em);
    left: 0.8em;
    background-color: #d69b07;
}


.copyright-container {
    display: flex;
    align-items: center;
}
.copyright-container p {
    margin: 0 0 0.75em;
}
.copyright-container a {
    margin-left: 1.5em;
}
.svg-hemispheres {
    fill: #fff;
    height: 2.45em;
}
.svg-hemispheres .hemis-logo-et {
    fill: #591038;
}
/* FOOTER */



/* INNER PAGE */
.inner-page-thumbnail-container {
    position: relative;
}
.inner-page-thumbnail {
    display: block;
}
.inner-page-thumbnail-logo-container {
    position: absolute;
    top: 4vw;
    left: calc(50% - 16.05vw);
    padding: 6.3vw 2vw 2vw 2vw;
    background: #591038;
}
.inner-page-thumbnail-logo-container::before {
    content: "";
    position: absolute;
    background-image: url(../images/animation-feuille.png);
    background-size: 100% auto;
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 21.1463vw;
    height: 20.2002vw;
    top: 2vw;
    right: 5.2vw;
    mix-blend-mode: multiply;
    opacity: 0.35;
}
.inner-page-thumbnail-logo {
    width: 31vw;
    position: relative;
}
.inner-page-article {
    font-size: 1.3rem;
    line-height: 1.3;
    color: #591038;
    font-weight: 300;
}
.inner-page-article .container {
    max-width: 60em;
    padding-top: 1em;
    padding-bottom: 3em;
}

.breadcrumbs {
    color: #591038;
    font-weight: 300;
    display: flex;
    list-style: none;
    padding: 1em 0 1.5em;
    margin: 0;
    grid-gap: 0em 0.3em;
}
.breadcrumbs a {
    color: inherit;
    font-weight: 700;
}
.breadcrumbs .separator {
    font-weight: 700;
    color: #d69b07;
}

.inner-page-title {
    font-size: 2.4em;
    margin-bottom: 1.2em;
    padding-bottom: 0.6em;
    position: relative;
}
.inner-page-title::after {
    content: "";
    background: #d69b07;
    position: absolute;
    bottom: 0;
    height: 0.1em;
    width: 3em;
    left: 0;
}
.inner-page-article a {
    color: inherit;
    font-weight: 400;
}

.inner-pages .footer-logo-list {
    padding-top: 5em;
}
/* INNER PAGE */



@media screen and ( max-width: 1680px ) {

    /* GLOBAL 1680px */

    /* ANIMATION 1680px */

    /* SLIDESHOW 1680px */
    .sticky-bloc-contact {
        font-size: 1.2rem;
    }
    /* SLIDESHOW 1680px */

    /* BANDEAU 1680px */
    .section-content {
        font-size: 0.9rem;
    }
    /* BANDEAU 1680px */

    /* TEXT 2 1680px */

    /* ENCADRE 1680px */

    /* AVANTAGES 1680px */

    /* APPARTEMENTS 1680px */

    /* MAP 1680px */
    .section-map {
        font-size: 0.9rem;
    }
    /* MAP 1680px */

    /* CONTACT 1680px */
    .contact-banner {
        font-size: 1rem;
    }
    /* CONTACT 1680px */

    /* FOOTER 1680px */

    /* INNER PAGE 1680px */
    .inner-page-article {
        font-size: 1.2rem;
    }
    /* INNER PAGE 1680px */
}

@media screen and ( max-width: 1440px ) {

    /* GLOBAL 1440px */

    /* ANIMATION 1440px */

    /* SLIDESHOW 1440px */
    .sticky-bloc-contact {
        font-size: 1.1rem;
    }
    /* SLIDESHOW 1440px */

    /* BANDEAU 1440px */
    .section-content {
        font-size: 0.8rem;
    }
    /* BANDEAU 1440px */

    /* TEXT 2 1440px */

    /* ENCADRE 1440px */

    /* AVANTAGES 1440px */

    /* APPARTEMENTS 1440px */

    /* MAP 1440px */
    .section-map {
        font-size: 0.8rem;
    }
    /* MAP 1440px */

    /* CONTACT 1440px */
    .contact-banner {
        font-size: 0.9rem;
    }
    /* CONTACT 1440px */

    /* FOOTER 1440px */

    /* INNER PAGE 1440px */
    .inner-page-article {
        font-size: 1.1rem;
    }
    /* INNER PAGE 1440px */
}

@media screen and ( max-width: 1280px ) {

    /* GLOBAL 1280px */

    /* ANIMATION 1280px */

    /* SLIDESHOW 1280px */
    .sticky-bloc-contact {
        font-size: 1rem;
    }
    /* SLIDESHOW 1280px */

    /* BANDEAU 1280px */
    .section-content {
        font-size: 0.7rem;
    }
    /* BANDEAU 1280px */

    /* TEXT 2 1280px */

    /* ENCADRE 1280px */

    /* AVANTAGES 1280px */

    /* APPARTEMENTS 1280px */

    /* MAP 1280px */
    .section-map {
        font-size: 0.7rem;
    }
    /* MAP 1280px */

    /* CONTACT 1280px */
    .contact-banner {
        font-size: 0.8rem;
    }
    /* CONTACT 1280px */

    /* FOOTER 1280px */
    .site-footer {
        font-size: 0.7rem;
    }
    /* FOOTER 1280px */

    /* INNER PAGE 1280px */
    .inner-page-article {
        font-size: 1rem;
    }
    /* INNER PAGE 1280px */
}

@media screen and ( max-width: 1080px ) {

    /* GLOBAL 1080px */

    /* ANIMATION 1080px */

    /* SLIDESHOW 1080px */

    /* BANDEAU 1080px */
    .section-content {
        font-size: 0.6rem;
    }
    /* BANDEAU 1080px */

    /* TEXT 2 1080px */

    /* ENCADRE 1080px */

    /* AVANTAGES 1080px */

    /* APPARTEMENTS 1080px */

    /* MAP 1080px */
    .section-map {
        font-size: 0.6rem;
    }
    /* MAP 1080px */

    /* CONTACT 1080px */
    .contact-banner {
        font-size: 0.7rem;
    }
    /* CONTACT 1080px */

    /* FOOTER 1080px */
    .site-footer {
        font-size: 0.6rem;
    }
    /* FOOTER 1080px */

    /* INNER PAGE 1080px */
    .inner-page-article {
        font-size: 0.9rem;
    }
    /* INNER PAGE 1080px */
}

@media screen and ( max-width: 999px ) {

    /* GLOBAL 999px */

    /* ANIMATION 999px */
    .animation-leaf {
        height: 40vh;
        left: calc(50% - 20vh);
        top: calc(50% - 25vh);
    }
    .animation-24 {
        height: 27vh;
        top: 35vh;
        left: calc(50% - 10vh);
    }
    .animation-logo {
        top: 34.2vh;
        left: calc(50% - 19.2vh);
        height: 28.5vh;
    }
    .animation-text {
        font-size: 2.9vh;
        padding-left: 1.8em;
        padding-right: 1.4em;
        top: 41vh;
    }
    .animation-text::before,
    .animation-text::after {
        height: 0.6em;
        top: -0.2em;
        left: calc(50% - 2.4em);
        width: 0.8269em;
    }
    .animation-text::after {
        top: 2.2em;
        left: calc(50% + 3.5em);
    }
    .animation-text-scroll {
        font-size: 2.5vh;
        padding-bottom: 3.25em;
        line-height: 1.15;
    }
    .animation-text-scroll::after {
        bottom: 1.4em;
        left: calc(50% - 0.95em);
    }

    /* On réduit la feuille et on décale le 24 pour qu'ils se positionnent où se trouvera le logo */
    .section-animation.step-3 .animation-leaf {
        top: 28.7vh;
        height: 26.2vh;
        left: calc(50% - 11.2vh);
    }
    .section-animation.step-3 .animation-24 {
        top: 34.2vh;
        height: 15.4vh;
        left: calc(50% - 7.5vh);
    }

    /* Dernière étape, on affiche le logo, on cache le 24 et la feuille et on affiche le texte qui invite à scroller */
    .section-animation.step-4 .animation-leaf {
        top: 28.7vh;
        height: 26.2vh;
        left: calc(50% - 11.2vh);
    }
    .section-animation.step-4 .animation-24 {
        top: 34.2vh;
        height: 15.4vh;
        left: calc(50% - 7.5vh);
    }
    /* ANIMATION 999px */

    /* SLIDESHOW 999px */
    .section-slideshow-list {
        height: 128vw;
        max-height: 100vh;
    }
    .sticky-bloc-contact {
        display: none;
    }
    .sticky-bloc-contact-mobile {
        display: block;
    }
    /* SLIDESHOW 999px */

    /* BANDEAU 999px */
    .section-content {
        font-size: 1.4rem;
    }
    .intro-h1-img {
        display: none;
    }
    .intro-content-container {
        padding: 3.5em 0em;
    }
    .intro-content-container .animation-text {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        font-size: 1.3897em;
        padding-right: 1.4em;
        margin-bottom: 1.2em;
        width: 14.3em;
        margin-left: auto;
        margin-right: auto;
    }
    .intro-content-container .animation-text::before {
        width: 1.05em;
        height: 0.9em;
        left: -0.25em;
        top: -0.15em;
    }
    .intro-content-container .animation-text::after {
        top: 1.2em;
        left: auto;
        right: -0.3em;
        height: 0.8em;
        width: 1em;
    }
    .intro-text {
        width: 17.8em;
        margin-right: auto;
        margin-left: auto;
        font-size: 1em;
        line-height: 1.35;
        letter-spacing: -0.07em;
    }
    /* BANDEAU 999px */

    /* TEXT 2 999px */
    .container-text-2 {
        display: block;
        /* padding: 6.1em 0 0; */
        padding: 3em 0 0;
        margin: 0;
    }
    .container-text-2 .text-image-1 {
        display: none;
    }
    .text-2-content {
        width: 21em;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1.15em;
        font-size: 1em;
    }
    .text-2-intro {
        font-size: 1.01714em;
        padding-bottom: 1.3em;
    }
    .text-2-text {
        margin-bottom: 3em;
    }
    .container-text-2 .text-image-2 {
        width: 100%;
        display: block;
    }
    /* TEXT 2 999px */

    /* ENCADRE 999px */
    .container.container-framed-content {
        padding: 0;
    }
    .framed-content-intro {
        display: block;
        border-radius: 0;
    }
    .framed-content-intro-text {
        font-size: 1.1011em;
        padding: 4em 0 0em 0.4em;
        width: 14em;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2.3em;
    }
    .framed-content-intro-text::before {
        left: -0.4em;
    }
    .framed-content-intro-text::after {
        left: 10.5em;
    }
    .framed-content-intro-image {
        width: 100%;
        border-radius: 0;
        background: #fff;
    }
    .framed-content-intro-image img {
        border-radius: 0 0 0 2em;
        width: 100%;
    }
    /* ENCADRE 999px */

    /* AVANTAGES 999px */
    .framed-content-advantages-container {
        font-size: 1.1138em;
        padding-top: 1.85em;
        padding-bottom: 0em;
        border-radius: 0;
        border: none;
        margin-bottom: 8.5em;
    }
    .framed-content-advantages-container::before {
        width: 6.2957em;
        height: 6.4224em;
        top: -1.8em;
        left: calc(50% - 11em);
    }
    .framed-content-advantages-title {
        font-size: 1.395em;
        margin-left: auto;
        margin-right: auto;
        width: 10em;
        margin-bottom: 0.8em;
    }
    .framed-content-advantages-title::before {
        left: -0.5em;
    }
    .framed-content-advantages-title::after {
        top: 2.45em;
        right: -0.3em;
    }
    .framed-content-advantages-list {
        display: block;
        font-size: 1em;
        width: 14.7em;
        height: auto;
        margin-bottom: 3em;
    }
    .framed-content-advantages-item {
        max-width: 100%;
        margin-bottom: 1.2em;
    }
    .framed-content-faded-title {
        font-size: 2.4em;
        margin-bottom: 1.5em;
    }
    .framed-content-bottom-content {
        position: relative;
        bottom: auto;
        right: auto;
    }
    .framed-content-bottom-content img {
        width: 100%;
        position: static;
        display: block;
    }
    .framed-content-bottom-text-container {
        position: absolute;
        bottom: -6em;
        left: calc(50% - 10.5em);
        font-size: 0.8em;
    }
    .framed-content-bottom-text-container::before {
        bottom: -0.5em;
        right: -0.5em;
        background-size: 0.8em 0.6em;
    }
    .framed-content-bottom-text {
        width: 21em;
        font-size: 1em;
    }
    /* AVANTAGES 999px */

    /* APPARTEMENTS 999px */
    .container-apartments {
        padding-top: 4.4em;
        padding-bottom: 3em;
    }
    .container-apartments .container {
        padding: 0;
    }
    .apartments-title {
        font-size: 1.5981em;
        margin: 0 auto 1.4em;
        width: 12em;
    }
    .apartments-intro-container {
        flex-flow: column-reverse;
    }
    .apartments-intro-img {
        width: 100%;
        display: none;
    }
    .apartments-intro-img.mobile {
        display: block;
    }
    .apartments-intro-content {
        padding: 2.3em 0em;
        width: 11.9em;
        margin: 0 auto 0;
    }
    .apartments-intro-title {
        font-size: 1.112em;
        letter-spacing: -0.03em;
    }
    .apartments-intro-subtitle {
        font-size: 0.5054em;
        margin-bottom: 1.2em;
    }
    .apartments-intro-text {
        font-size: 0.5152em;
    }

    .apartments-content2::before {
        display: none;
    }
    .apartments-content2 {
        display: flex;
        flex-flow: column-reverse;
        padding-bottom: 21em;
    }
    .apartments-content2-img {
        width: 100%;
    }
    .apartments-content2-content-container {
        top: 60vw;
        left: 0;
        width: 100%;
    }
    .apartments-content2-content {
        font-size: 1em;
        width: 21em;
        padding: 2em;
        margin: 0 auto;
    }
    .apartments-content2-content-container::before {
        background-size: 0.8em 0.6em;
        top: -0.5em;
        left: calc(50% - 11em);
        width: 21em;
    }
    .apartments-content3-img {
        display: none;
    }
    .apartments-content3-img.mobile {
        display: block;
    }
    .apartments-content3 {
        flex-flow: column;
    }
    .apartments-content3-img-container {
        width: 100%;
    }
    .apartments-content3-img-text {
        font-size: 0.85em;
        padding: 0.5em 1em 0.5em 0.5em;
        font-weight: 300;
    }
    .apartments-content3-text {
        width: 25em;
        font-size: 0.85em;
        padding: 2em 0em 0em;
        margin: 0 auto 2em;
        background-image: none;
    }

    .link-to-cgipi-container {
        padding: 0;
        text-align: center;
    }
    .link-to-cgipi {
        font-size: 0.8em;
        margin-left: 1.5em;
    }
    /* APPARTEMENTS 999px */

    /* MAP 999px */
    .section-map {
        font-size: 1.4rem;
        padding: 2em 0em 11em;
    }
    .section-map .container {
        max-width: 23.5em;
    }
    .section-map-list {
        position: relative;
        right: auto;
        bottom: auto;
    }
    .section-map-title {
        font-size: 1.3em;
        text-align: center;
        margin-bottom: 2em;
    }
    .section-map-list {
        padding: 0;
        font-size: 0.6em;
        width: 100%;
        margin-bottom: 4em;
    }
    .section-map-list-item.walking {
        display: none;
    }
    .section-map-list-item.measure .section-map-list-text {
        font-size: 1.2em;
    }
    .section-map-img {
        width: 100%;
        border-radius: 0;
    }
    /* MAP 999px */

    /* CONTACT 999px */
    .contact-banner {
        font-size: 1.4rem;
        height: 18.5em;
    }
    .contact-form {
        width: 20em;
        left: calc(50% - 10em);
        top: -5em;
        padding: 2.2em 1.2em 1.2em 1.9em;
    }
    .contact-form.loading::before {
        background-size: auto 10em;
    }
    .contact-form .link-to-cgipi-svg-container {
        top: -1.6em;
        left: calc(50% - 1.5em);
        transform: rotate(90deg);
        font-size: 1.4em;
    }
    .contact-form-title {
        font-size: 1.5836em;
        padding-bottom: 0.45em;
        margin-bottom: 0.65em;
    }
    .contact-form-title::after {
        left: -0.7em;
        width: 5.2em;
    }
    .field-group-container {
        padding: 0;
        grid-gap: 1.4em 0em;
    }
    .field-group {
        width: 100%;
    }
    .field-group input {
        font-size: 1em;
        padding: 0.5em 1.3em;
    }
    .field-group.contact-form-infos {
        padding: 0;
        font-size: 0.8em;
    }
    .field-group.last {
        padding: 0;
        text-align: left;
    }
    .field-submit-button {
        font-size: 0.8634em;
        padding: 0.8em 1.2em;
    }
    /* CONTACT 999px */

    /* FOOTER 999px */
    .site-footer {
        font-size: 1.4rem;
        padding-bottom: 1em;
    }
    .footer-logo-list {
        font-size: 0.5em;
        padding-top: 18em;
    }
    .footer-24courtille {
        display: none;
    }
    .container-link-realisations {
        font-size: 1.15em;
        padding-top: 1em;
        margin-bottom: 2em;
    }
    .footer-last-container {
        max-width: 100%;
        flex-flow: column;
        font-size: 0.6em;
        align-items: center;
        justify-content: center;
        grid-gap: 3em 0;
    }
    /* FOOTER 999px */

    /* INNER PAGE 999px */
}

@media screen and ( max-width: 600px ) {

    /* GLOBAL 600px */

    /* ANIMATION 600px */

    /* SLIDESHOW 600px */

    /* BANDEAU 600px */
    .section-content {
        font-size: 1rem;
    }
    /* BANDEAU 600px */

    /* TEXT 2 600px */

    /* ENCADRE 600px */

    /* AVANTAGES 600px */

    /* APPARTEMENTS 600px */

    /* MAP 600px */
    .section-map {
        font-size: 1rem;
    }
    /* MAP 600px */

    /* CONTACT 600px */
    .contact-banner {
        font-size: 1rem;
    }
    /* CONTACT 600px */

    /* FOOTER 600px */
    .site-footer {
        font-size: 1rem;
    }
    /* FOOTER 600px */

    /* INNER PAGE 600px */
}