@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
   */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.show-desktop {
  display: none;
}
@media screen and (min-width: 1330px) {
  .show-desktop {
    display: block !important;
  }
}

.hide-desktop {
  display: inline-block;
}
@media screen and (min-width: 1330px) {
  .hide-desktop {
    display: none !important;
  }
}

.show-tablet {
  display: none;
}
@media screen and (min-width: 768px) {
  .show-tablet {
    display: block !important;
  }
}

.hide-tablet {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .hide-tablet {
    display: none !important;
  }
}

/*
 * This file defines all the scss variables.
 */
/*
 * This variable defines the values of breapkpoints.
 * These values are the same as used by javascript (assets/script/1-tools/breakpoints.js).
 */
*, html {
  box-sizing: border-box;
}

body {
  font-family: "Arial", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #113c49;
  overflow-x: hidden;
}

.noscroll {
  overflow: hidden;
}

.wrapper {
  min-width: 260px;
  max-width: 1080px;
  margin: 0 auto;
}

strong {
  font-weight: 700;
}

img {
  width: 100%;
  height: auto;
}

.main header nav ul {
  text-align: center;
  margin: 27px 0;
}
@media screen and (min-width: 768px) {
  .main header nav ul {
    text-align: right;
  }
}
.main header nav ul li {
  display: inline-block;
}
.main header nav ul li a {
  color: #113c49;
  font-size: 15px;
  line-height: 32px;
  letter-spacing: 0.45px;
  padding-bottom: 7px;
  text-decoration: none;
}
.main header nav ul li a.active, .main header nav ul li a:hover {
  font-weight: 700;
  border-bottom: 2px solid #113c49;
}
@media screen and (min-width: 768px) {
  .main header nav ul li a {
    margin-right: 37px;
  }
}
.main header .top {
  position: relative;
  height: 323px;
  background: transparent url(../img/header-mobile@2x.png) top right no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main header .top {
    height: 645px;
    background: transparent url(../img/header@2x.png) top right no-repeat;
    background-size: cover;
  }
}
.main header .top .logo {
  position: absolute;
  width: 116px;
  left: 30px;
  top: 20px;
}
@media screen and (min-width: 768px) {
  .main header .top .logo {
    width: 186px;
    left: 70px;
    top: 70px;
  }
}
.main header .top h1 {
  position: absolute;
  left: 30px;
  top: 163px;
  color: #ffffff;
  font-size: 29px;
  line-height: 32px;
  letter-spacing: 0.87px;
  font-weight: 700;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .main header .top h1 {
    font-size: 49px;
    line-height: 62px;
    letter-spacing: 1.47px;
    left: 70px;
    top: 310px;
  }
}
.main header .top span {
  position: absolute;
  display: block;
  top: 287px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  color: #ffffff;
  font-size: 13px;
  line-height: 17px;
  letter-spacing: 0.52px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  padding: 12px 0;
  background-color: #b68c35;
}
@media screen and (min-width: 768px) {
  .main header .top span {
    width: 100%;
    max-width: 1080px;
    font-size: 20px;
    line-height: 21px;
    letter-spacing: 0.8px;
    top: auto;
    bottom: -44px;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
    padding: 35px 0;
  }
}
.main .domaine {
  background: transparent url(../img/composant-48-1.svg) top 22px right -50px no-repeat;
  text-align: center;
  padding: 66px 30px 0 30px;
}
@media screen and (min-width: 768px) {
  .main .domaine {
    padding: 146px 30px 0 30px;
  }
}
@media screen and (min-width: 1330px) {
  .main .domaine {
    background: transparent url(../img/Composant-41–1.svg) top 86px right 200px no-repeat;
  }
}
.main .domaine h2 {
  font-size: 19px;
  line-height: 22px;
  color: #b68c35;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .main .domaine h2 {
    font-size: 33px;
  }
}
.main .domaine h3 {
  font-size: 15px;
  line-height: 15px;
  font-style: italic;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .main .domaine h3 {
    font-size: 23px;
    line-height: 32px;
    margin-bottom: 52px;
  }
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper {
    display: flex;
    flex-direction: row;
  }
  .main .domaine .wrapper.reverse {
    flex-direction: row-reverse;
  }
}
.main .domaine .wrapper .blk-img, .main .domaine .wrapper .blk-text {
  margin-bottom: 22px;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-img, .main .domaine .wrapper .blk-text {
    width: 50%;
  }
}
.main .domaine .wrapper .blk-img {
  height: 153px;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-img {
    height: 403px;
  }
}
.main .domaine .wrapper .blk-img-1 {
  background: transparent url(../img/img1-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-img-1 {
    margin-right: 25px;
    background: transparent url(../img/img1.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .domaine .wrapper .blk-img-2 {
  background: transparent url(../img/img2-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-img-2 {
    margin-left: 25px;
    background: transparent url(../img/img2.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .domaine .wrapper .blk-img-3 {
  background: transparent url(../img/img3-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-img-3 {
    margin-left: 25px;
    background: transparent url(../img/img3.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .domaine .wrapper .blk-text {
  position: relative;
  background-color: #f9f9f9;
  padding: 45px 23px;
  margin-bottom: 22px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-text {
    padding: 0 0 0 50px;
  }
  .main .domaine .wrapper .blk-text.align-right {
    text-align: right;
    padding: 0 50px 0 0;
  }
}
.main .domaine .wrapper .blk-text h3 {
  color: #a57c37;
  font-size: 17px;
  line-height: 23px;
  font-style: italic;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-text h3 {
    font-size: 23px;
  }
}
.main .domaine .wrapper .blk-text p {
  color: #7b7b7b;
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-text p {
    line-height: 21px;
  }
}
.main .domaine .wrapper .blk-text a {
  display: inline-block;
  color: #ffffff;
  background-color: #a57c37;
  border-radius: 22px;
  width: 123px;
  height: 37px;
  font-size: 10px;
  line-height: 37px;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-text a {
    font-size: 18px;
    width: 288px;
    height: 45px;
    line-height: 45px;
  }
}
@media screen and (min-width: 768px) {
  .main .domaine .wrapper .blk-text .content {
    margin-top: 96px;
  }
}
.main .chateau {
  position: relative;
  background: transparent url(../img/composant-50-1.svg) top 12px left 42px no-repeat;
  text-align: center;
  padding: 80px 0 0 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main .chateau {
    background: transparent url(../img/Composant-42–1.svg) top 0 left 120px no-repeat;
  }
}
@media screen and (min-width: 1330px) {
  .main .chateau {
    background: transparent url(../img/Composant-42–1.svg) top left 320px no-repeat;
  }
}
.main .chateau h2 {
  font-size: 19px;
  line-height: 22px;
  color: #b68c35;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main .chateau h2 {
    font-size: 33px;
    line-height: 22px;
  }
}
.main .chateau h3 {
  font-size: 15px;
  line-height: 15px;
  font-style: italic;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .main .chateau h3 {
    font-size: 23px;
    line-height: 32px;
    margin-bottom: 52px;
  }
}
.main .chateau .pict {
  max-width: 1080px;
  margin: 0 auto 34px auto;
}
.main .chateau .flowers {
  position: absolute;
  top: 60px;
  right: -180px;
  width: 430px;
  height: 351px;
  background: transparent url(../img/Composant-45–1.svg) center center no-repeat;
}
.main .chateau .wrapper {
  background: #113c49 url(../img/composant-52-1.svg) bottom right no-repeat;
  padding: 30px 30px 122px 30px;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper {
    display: flex;
    flex-direction: row;
    padding: 46px 0 36px 100px;
    margin-bottom: 190px;
  }
  .main .chateau .wrapper.reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1330px) {
  .main .chateau .wrapper {
    background-image: none;
  }
}
.main .chateau .wrapper .blk-img, .main .chateau .wrapper .blk-text {
  margin-bottom: 22px;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-img, .main .chateau .wrapper .blk-text {
    width: 50%;
  }
}
.main .chateau .wrapper .blk-img {
  width: 100%;
  height: 209px;
  margin-bottom: 37px;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-img {
    height: 403px;
  }
}
.main .chateau .wrapper .blk-img-3 {
  background: transparent url(../img/img3-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-img-3 {
    margin-left: 25px;
    background: transparent url(../img/img3.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .chateau .wrapper .blk-text {
  position: relative;
  margin-bottom: 22px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-text {
    padding: 0;
    width: 100%;
  }
  .main .chateau .wrapper .blk-text.align-right {
    text-align: right;
    padding: 0 50px 0 0;
  }
}
.main .chateau .wrapper .blk-text .content {
  position: relative;
}
.main .chateau .wrapper .blk-text h3 {
  color: #ffffff;
  font-size: 17px;
  line-height: 23px;
  font-style: italic;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-text h3 {
    font-size: 23px;
    line-height: 32px;
  }
}
.main .chateau .wrapper .blk-text p {
  color: #ffffff;
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-text p {
    line-height: 32px;
    margin-bottom: 27px;
  }
}
.main .chateau .wrapper .blk-text a {
  display: inline-block;
  color: #a57c37;
  background-color: #ffffff;
  border-radius: 22px;
  width: 177px;
  height: 37px;
  font-size: 14px;
  line-height: 37px;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .main .chateau .wrapper .blk-text a {
    font-size: 18px;
    width: 288px;
    height: 45px;
    line-height: 45px;
  }
}
.main .appartements .title {
  background-color: #b68c35;
  text-align: center;
  height: 93px;
  padding: 26px 0 24px 0;
}
@media screen and (min-width: 768px) {
  .main .appartements .title {
    padding-top: 65px;
    height: 190px;
  }
}
.main .appartements .title h2 {
  font-size: 19px;
  line-height: 22px;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
  margin-bottom: 7px;
}
@media screen and (min-width: 768px) {
  .main .appartements .title h2 {
    font-size: 33px;
    line-height: 22px;
  }
}
.main .appartements .title h3 {
  font-size: 15px;
  line-height: 15px;
  font-style: italic;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .main .appartements .title h3 {
    font-size: 23px;
    line-height: 32px;
  }
}
.main .appartements .pict {
  height: 265px;
  background: transparent url(../img/img4-mobile.jpg) center center no-repeat;
}
@media screen and (min-width: 768px) {
  .main .appartements .pict {
    height: 685px;
    background: transparent url(../img/img4.jpg) center center no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper {
    display: flex;
    flex-direction: row;
    padding-top: 28px;
  }
  .main .appartements .wrapper.reverse {
    flex-direction: row-reverse;
  }
}
.main .appartements .wrapper .blk-img, .main .appartements .wrapper .blk-text {
  margin: 22px 30px;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-img, .main .appartements .wrapper .blk-text {
    width: 50%;
    margin: 0;
  }
}
.main .appartements .wrapper .blk-img {
  height: 265px;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-img {
    height: 403px;
  }
}
.main .appartements .wrapper .blk-img-5 {
  background: transparent url(../img/img5-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-img-5 {
    margin-left: 25px;
    background: transparent url(../img/img5.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .appartements .wrapper .blk-img-6 {
  background: transparent url(../img/img6-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-img-6 {
    margin-right: 25px;
    background: transparent url(../img/img6.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main .appartements .wrapper .blk-text {
  position: relative;
  padding: 40px 28px 24px 20px;
  margin-bottom: 22px;
  text-align: left;
  background-color: #f9f9f9;
}
.main .appartements .wrapper .blk-text.quote {
  padding: 40px 5px 24px 20px;
  background: #f9f9f9 url(../img/composant-53-1.svg) top -5px right 20px no-repeat;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-text.quote {
    padding: 103px 5px 24px 50px;
    background: #f9f9f9 url(../img/Composant-65–1.svg) top 35px right 100px no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-text {
    height: 403px;
    padding: 0 0 0 50px;
  }
  .main .appartements .wrapper .blk-text.align-right {
    text-align: right;
    padding: 0 50px 0 0;
  }
  .main .appartements .wrapper .blk-text.align-right .content {
    margin-top: 80px;
  }
}
.main .appartements .wrapper .blk-text h3 {
  color: #a57c37;
  font-size: 16px;
  line-height: 20px;
  font-style: italic;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-text h3 {
    font-size: 23px;
    line-height: 27px;
  }
}
.main .appartements .wrapper .blk-text p {
  color: #7b7b7b;
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-text p {
    line-height: 21px;
  }
}
.main .appartements .wrapper .blk-text a {
  display: inline-block;
  color: #ffffff;
  background-color: #a57c37;
  border-radius: 22px;
  width: 156px;
  height: 37px;
  font-size: 14px;
  line-height: 37px;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .main .appartements .wrapper .blk-text a {
    font-size: 18px;
    width: 288px;
    height: 45px;
    line-height: 45px;
  }
}
.main .contact {
  position: relative;
  background-color: #113c49;
  text-align: center;
  padding: 42px 0 0 0;
  text-align: center;
}
.main .contact h2 {
  font-size: 19px;
  line-height: 22px;
  color: #b68c35;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .main .contact h2 {
    font-size: 33px;
  }
}
.main .contact p {
  font-size: 15px;
  line-height: 20px;
  font-style: italic;
  margin-bottom: 24px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .main .contact p {
    font-size: 23px;
    line-height: 32px;
  }
}
.main .contact p:nth-child(3) {
  margin-bottom: 60px;
}
.main .contact p strong {
  font-size: 15px;
  line-height: 25px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .main .contact p strong {
    font-size: 23px;
    line-height: 32px;
  }
}
.main .contact img {
  margin-bottom: 11px;
}
.main .contact .map {
  height: 311px;
  background: #f9f9f9 url(../img/map-mobile.jpg) center center no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main .contact .map {
    /*height: 780px;*/
    height: auto;
    background: #f9f9f9 url(../img/map.jpg) top left no-repeat;
    background-size: cover;
  }
}
.main .contact .map img {
  display: none;
}
@media screen and (min-width: 768px) {
  .main .contact .map img {
    opacity: 0;
    width: 100%;
    display: block;
    margin-bottom: 0;
  }
}
.main .contact .pictos {
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
}
.main .form {
  background-color: #F7F7F7;
  padding: 50px 0 50px 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main .form {
    padding: 90px 20px 90px 20px;
  }
}
.main .form h3 {
  font-size: 18px;
  line-height: 21px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .main .form h3 {
    font-size: 31px;
    line-height: 30px;
  }
}
.main .form p {
  font-size: 14px;
  line-height: 21px;
  margin-bottom: 41px;
}
@media screen and (min-width: 768px) {
  .main .form p {
    font-size: 16px;
    line-height: 30px;
  }
}
.main .form form {
  padding: 0 30px;
  text-align: left;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .main .form form {
    padding: 0;
  }
}
.main .form form .inputs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.main .form form .inputs .input {
  max-width: 529px;
  width: 100%;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .main .form form .inputs .input {
    width: calc(-5px + 50%);
  }
}
.main .form form input:focus, .main .form form textarea:focus {
  outline: none;
}
.main .form form input[type=text], .main .form form input[type=email], .main .form form input[type=tel] {
  width: 100%;
  border-radius: 6px;
  border: none;
  height: 46px;
  font-size: 15px;
  color: #113c49;
  padding: 0 16px;
  border-radius: 5px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 768px) {
  .main .form form input[type=text], .main .form form input[type=email], .main .form form input[type=tel] {
    width: 100%;
  }
}
.main .form input[type=checkbox] {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid #113c49;
  border-radius: 5px;
  appearance: none;
  outline: 0;
  cursor: pointer;
  transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
}
.main .form input[type=checkbox]::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 5px;
  width: 8px;
  height: 14px;
  border-style: solid;
  border-color: #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.main .form input[type=checkbox]:checked {
  color: #ffffff;
  border-color: #113c49;
  background: #113c49;
}
.main .form input[type=checkbox]:checked::before {
  opacity: 1;
}
.main .form label[for=rgpd] {
  display: inline-block;
  line-height: 18px;
  font-size: 14px;
  color: #113c49;
  margin-bottom: 20px;
  padding-left: 30px;
  padding-top: 4px;
}
.main .form label > input[type=radio] {
  display: none;
}
.main .form label > input[type=radio] + *::before {
  content: "";
  display: inline-block;
  vertical-align: bottom;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-radius: 50%;
  border: 1px solid #113c49;
}
.main .form label > input[type=radio].error + *::before {
  border: 1px solid #ff5050;
}
.main .form label > input[type=radio] + * {
  line-height: 20px;
  font-size: 15px;
  color: #113c49;
}
.main .form label > input[type=radio].error + * {
  color: #ff5050;
}
.main .form label > input[type=radio]:checked + * {
  color: #113c49;
}
.main .form label > input[type=radio]:checked + *::before {
  background: radial-gradient(#113c49 0%, #113c49 40%, transparent 50%, transparent);
  border-color: #113c49;
}
.main .form input[type=submit] {
  flex: none;
  display: inline-block;
  color: #ffffff;
  background-color: #a57c37;
  border-radius: 22px;
  width: 156px;
  font-size: 14px;
  line-height: 37px;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
  border: none;
}
@media screen and (min-width: 768px) {
  .main .form input[type=submit] {
    font-size: 18px;
    width: 288px;
    height: 45px;
    line-height: 45px;
    display: block;
    margin: 0 auto;
  }
}
.main .form span {
  flex: none;
  font-size: 10px;
  text-align: right;
  display: block;
  margin-bottom: 19px;
}
.main .form .radios {
  padding-bottom: 10px;
  display: flex;
}
.main .form .radios li {
  /*float: left;*/
}
.main .form .radios li:first-child {
  margin-right: 25px;
}
.main footer {
  position: relative;
  background-color: #113c49;
  text-align: center;
}
.main footer .picture {
  position: relative;
  height: 134px;
  background: transparent url(../img/footer-mobile.jpg) center center no-repeat;
  background-size: cover;
  margin-bottom: 26px;
}
.main footer .picture img {
  width: 142px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .main footer .picture img {
    width: 380px;
  }
}
@media screen and (min-width: 768px) {
  .main footer .picture {
    height: 304px;
    background: transparent url(../img/footer.jpg) center center no-repeat;
    background-size: cover;
  }
}
.main footer .histoire-patrimoine {
  width: 109px;
  margin-bottom: 28px;
}
@media screen and (min-width: 768px) {
  .main footer .histoire-patrimoine {
    width: 80px;
    margin-bottom: 15px;
  }
}
.main footer .socials {
  padding-bottom: 23px;
}
@media screen and (min-width: 768px) {
  .main footer .socials {
    text-align: right;
    max-width: 1080px;
    margin: 0 auto;
    padding-top: 54px;
    /*background: transparent url(../img/histoire.svg) bottom 40px left 30px no-repeat;
    background-size: 80px auto;*/
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0 30px;
    margin-bottom: 23px;
  }
}
@media screen and (min-width: 1330px) {
  .main footer .socials {
    padding: 0;
  }
}
.main footer .socials .link-histoire-patrimoine {
  display: inline-block;
}
.main footer .socials ul {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  /*border-bottom: 1px solid rgba(255, 255, 255, .2);*/
  padding: 14px 0;
  margin: 0 30px 0 30px;
}
@media screen and (min-width: 768px) {
  .main footer .socials ul {
    border-top: none;
    margin: 0 0 0 30px;
  }
}
.main footer .socials ul li {
  display: inline-block;
  margin-right: 22px;
}
.main footer .socials ul li:last-child {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .main footer .socials ul li {
    margin-right: 27px;
  }
}
.main footer .legals {
  padding-bottom: 30px;
}
.main footer .legals a {
  display: block;
  font-size: 12px;
  line-height: 14px;
  color: #ffffff;
  margin-bottom: 15px;
}
.main footer .legals a:last-child {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .main footer .legals a {
    display: inline-block;
    padding: 0 10px;
    border-right: 1px solid #ffffff;
  }
  .main footer .legals a:last-child {
    border: none;
  }
}
.main .overlay {
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  overflow: auto;
}
.main .modal-wrapper {
  display: none;
  overflow: auto;
  z-index: 10000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.main .modal-wrapper .modal {
  display: none;
  background-color: #ffffff;
  width: 90%;
  max-width: 900px;
  padding: 40px 10px;
  border-radius: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .main .modal-wrapper .modal {
    padding: 50px;
  }
}
.main .modal-wrapper .modal h1 {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .main .modal-wrapper .modal h1 {
    font-size: 20px;
  }
}
.main .modal-wrapper .modal h2 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .main .modal-wrapper .modal h2 {
    font-size: 18px;
  }
}
.main .modal-wrapper .modal p {
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .main .modal-wrapper .modal p {
    font-size: 16px;
  }
}
.main .modal-wrapper .modal a {
  color: #113c49;
}
.main .modal-wrapper .modal .close {
  outline: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  transition: all 0.2s ease;
  color: #113c49;
  opacity: 0.5;
}
.main .modal-wrapper .modal .close:hover {
  opacity: 1;
}
.main .modal-wrapper .modal .close:before {
  display: block;
  content: "X";
  font-weight: 700;
  font-size: 20px;
}

label[class*=error],
p[class*=error] {
  display: inline-block;
  color: #ff5050;
  font-size: 0.8rem;
  margin-top: 6px;
}

p[class*=error] {
  display: block;
  text-align: center;
  margin-top: 10px;
}

input[class*=error] {
  border: 1px solid #ff5050;
  color: #ff5050;
}
input[class*=error] + label {
  color: #ff5050 !important;
}
input[class*=error] + label::before {
  border: 1px solid #ff5050 !important;
}

.radio-error {
  margin-top: -25px;
  margin-bottom: 15px;
}

.form__confirm {
  display: none;
  padding: 30px 40px 50px;
  text-align: center;
  color: #113c49;
  line-height: 1.4;
}
.form__confirm__line {
  display: block !important;
  text-align: center !important;
  font-size: 1.5rem !important;
  margin-bottom: 0 !important;
}
.form__confirm__line:first-child {
  color: #a57c37;
  margin-bottom: 10px !important;
}

/*# sourceMappingURL=main.css.map */