html {
	--color01: #3c3c3b; 
	--color02: #a87b4e /*caramel #b8858 #a4633c #9d704f #aa7d51*/;
	--white: #fff;
	--bkgbody: #fcfaf5;
	--beige: #f1ebe3;
	--sauge: #7a8d70 /*#828d70 */;
	--camel:#b78a62;
	--bkg01: #f0ebdb /*#eeeade*/;
	--bkg02: #f4f3ed;
	--bkg03: #f6f1ed;
    font-size: 100%;
    height: 100%;
    margin: 0;
    padding: 0
}

@font-face {
    font-family: 'geosanslightregular'; font-display: swap;
    src: url('fonts/geosanslight-webfont.woff2') format('woff2'),
         url('fonts/geosanslight-webfont.woff') format('woff');
}

@font-face {
    font-family: 'Sacramento'; font-display: swap;
    src:url('fonts/Sacramento-Regular.woff2') format('woff2'),
        url('fonts/Sacramento-Regular.woff') format('woff');
}

@font-face {
    font-family: 'befontbold';font-display: swap;
    src: url(fonts/guilbreton-webfont.woff2) format("woff2"), url(fonts/guilbreton-webfont.woff) format("woff");
}

@font-face {
  font-family: 'Font Awesome 5 Brands';font-display: swap;
  src: url("fonts/fa-brands-400.woff2") format("woff2"), url("fonts/fa-brands-400.woff") format("woff");}

@font-face {
  font-family: 'Font Awesome 6 Free'; font-display: swap;
  font-style: normal;
  font-weight: 900;  
  src: url("fonts/fa-solid-900.woff2") format("woff2")}

body {
    font: 1.3rem 'geosanslightregular', Helvetica, Verdana, Arial, sans-serif;
    line-height: 1.5em;
    background: var(--bkgbody);
    color: var(--color01);
    width: 100%;
    min-width: 280px;
    max-width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-style: normal
}

h1 {
    color: var(--color02) /*#b88858*/;
    text-align: center;
    font-size: 1.8em;
    line-height: 1.4em;
    margin: 0;
    padding: .5em 0;
    letter-spacing: .02em;
	text-transform:initial;
}

h1 span, h1 strong {
    color: var(--color01);
    display: block;
    font: .9em 'Sacramento', Helvetica, Verdana, Arial, cursive;
    line-height: 1em;
    letter-spacing: 0;
	text-transform: lowercase;	
}

h2 {
    color: var(--color02);
    font-size: 1.5em;
    margin: 0;
    padding: 1rem 0 .5rem
}
h2 span{display:block}
h2 strong { color: var(--color01); display: block; font: 1.1em 'Sacramento', cursive; line-height: 1em}

h3 {color: var(--color02);
    font-size: 1.3em;
    margin: 0;
    padding: .5em 0 0
}

h3 span{color: var(--color01);text-transform:lowercase;font: 1.2em 'Sacramento', Helvetica, Verdana, Arial, cursive;}

h4 {
    font-size: 1.1em;
	color: var(--color02);
    margin: 0;
    padding: .5em 0 0;
    font-weight: bold;
}

/*p { margin: .5em 0}*/

.medium {font-size: 1.4em;margin: 0; /*padding: 1rem 0 .5rem*/}

ul {margin: .5em 0 1em; padding: 0; list-style: none inside}

li {
    color: #3c3c3b
}

a {
    /*text-decoration: none;*/
    transition: all .2s ease;
}

a:link, a:visited { color: #426747}

a:hover,
a:focus,
a:active {color: #39602F /* #207d63 */}
/*main a:link, main a:visited {
	text-decoration:underline;
	font-weight:normal;
}*/
a.bouton, button {
    display: inline-block;
    color: #fff;	
    background: var(--color02);
    font-size: 1.2em;
    width: auto;
    height: auto;
    min-height: 10px;
    padding: 8px 24px;
    margin: 5px 0;
    text-align: center;
    line-height: 1em;
    border-radius: 4px;
	text-decoration:none;
}
button{font: 1.2em 'geosanslightregular', Helvetica, Verdana, Arial, sans-serif;border:none}

a.bouton:hover, button:hover {
    background: #3c3c3b;
    color: #fff;
    transition: all .2s ease
}
a.btnsml{display: inline-block;padding: 6px 14px; box-sizing:border-box; color:#fff;background: #5e7b68;text-decoration:none;text-align: center;line-height: 1em}
a.btnsml:hover{background: var(--color01);}
.btnborder {padding: 5px 10px;border: 1px solid #3c3c3bb3}.btnborder:hover{border:1px solid #ccc}
.green{background-color:#5e7b68;}
.grey{background-color:#918077;}
a.bouton.green{background:#478a78}
img {
    max-width: 100%;
    height: auto
}

a img {
    max-width: 100%;
    height: auto;
    opacity: 1
}

a img:hover {
    opacity: .9;
    transition: all .2s ease
}

figure {
    margin: 20px 2%;
    width: 100%;
    max-width: 320px;
    border: 1px solid rgba(204, 204, 204, 0.5)
}

figure img {
    width: 100%;
    height: auto;
    border: none;
    padding: 0;
    margin: 0
}

figcaption {
    padding: 12px;
    margin: 0;
    font-size: .9em;
    text-align: left;
    line-height: normal
}

iframe {
    margin: 0;
    text-align: center;
    border: none;
    padding: 0
}

.bkgwh{background:var(--white)}
.bkg01{background:var(--bkg01)}
.bkg02{background:var(--bkg02)}
.bkg03{background:var(--bkg03)}

.ptidej {
    border: none;
	background: transparent;
}
.ptidej img{max-width:280px}
.small {
    font-size: .7em;
    line-height: 1.2em
}

.up {
    font-size: 1.2em
}

.center {text-align: center}
.left {text-align:left}
.right {text-align:right}

.cursif {
    font: 1.4em Sacramento, cursive
}

.yellow {
    color: #aaa
}

.coltitle {
    font-size: 1.4em;
    margin: 0;
    padding: .5em 1.2rem
}

.rond2 {
    position: relative;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5em;
    width: 252px;
    height: 252px;
    padding: 40px;
    margin: 40px auto;
    text-align: center;
    color: #fff;
    background-color: #aaa;
    -moz-border-radius: 50%;
    -webkit-border-radius: 242px;
    border-radius: 242px;
    box-sizing: border-box
}

header {width:100%; margin: 0;height:100px}
header a, footer a{text-decoration:none}
.page{position:absolute;font-size:1.4em;top:35px;left:50%;transform:translateX(-50%);color:var(--color02);text-transform:lowercase;font-weight:bold;width:100%;text-align:center}

.logo {
    width: 270px;
    margin: 10px auto 0;
    padding: 0
}

.logo img {
    border: none;
	display: block;
    padding: 0;
    margin: 0;
    max-width: 100%;
    height: auto;
    position: relative;
    z-index: 99999
}

.logo img:hover {
    opacity: 1
}

.notetop {
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    height: auto;
    background: var(--beige);
    text-align: center;
    margin: 0;
    /*padding: .4em 0*/
}

.notetop p {
    margin: 0
}

.notetop p:before,
.notetop p:after {
    font: 1.1rem 'befontbold', Helvetica, Verdana, Arial, sans-serif;
    content: " E ";
    color: #222;
    vertical-align: top
}



a.bkonline:link,
a.bkonline:visited {
    top: 80px;
    position: fixed;
    text-align: center;
    right: 16%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: #fff;
    font-size: 1.5rem;
    padding: 5px 12px;
    box-sizing: border-box;
    background-color: #222;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    z-index: 9999999
}

a.bkonline:hover {
    background: #919191;
    text-decoration: none
}

/* DÉBUT lang menu */
.lang-select {position:relative;z-index:9999;display: inline-block;
  border: 0;width: 48px; height:48px;
  line-height: 48px;
  background: var(--color01);
  border-radius:50%;
  cursor: pointer;
}

.lang-select .lang {
    list-style: none;
    margin: 0;
    padding: 0;
	text-align: center;
    z-index: 999999;
    display: flex; gap:8px;
    flex-direction: column;	
	align-items:center;
}

ul.lang{position:relative;right:initial} /* Ces 2 lignes sont à supprimer à échéance */
ul.lang li{padding:0}

.lang li {
	width:100%;height:100%;border-radius:50%;background:var(--color01)
	}
	
.lang li.active {
  display: block;
  order: -1; /*langue active toujours en haut */
}

.lang li:not(.active) {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition: all 0.4s ease;
  transform: translateY(-10px);
}

.lang:hover li:not(.active) {
  opacity: 1;
  visibility: visible;
  max-height: 50px; 
  transform: translateY(0);
}

/* État lors du survol (Hover) */
.lang-select:hover li, .lang-select:focus li, .lang-select:active li {
  display: block;
}

.lang a {
  display: block;
  text-decoration: none;
  color: #fff;
}

.lang li:hover {  background:var(--sauge);border-radius:50%;}

.lang-select.is-open li {display: block;}

/* FIN lang menu */


/* MENU NAVIGATION */
.navigation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-20px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
  position: fixed;
  z-index: 100;
  top:0;
  width:40%;
  height:100dvh;
  background:var(--bkgbody);
  z-index: 9999
}

.navigation[data-state="opened"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  
}

nav {right:0;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center
}

nav ul {
	display:flex;
	gap:2dvh;
	flex-direction:column;
	flex-wrap:nowrap;
	justify-content:center;
    list-style: none;
    text-align: center;
    margin: 0;
    padding: 0;
	width:100%;height:100dvh;

}

nav ul li {
    font-size: 1em;
    text-align: center;
    width: auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box
}
nav ul li:hover, nav ul li:focus, nav ul li:active {background:var(--beige)}

nav ul li a:link,
nav ul li a:visited {
    color: var(--color01);font-size:1.2em;font-weight: normal;
}

nav ul li a:hover,
nav ul li a:focus,
nav ul li a:active {
    color: var(--color02);
}

nav ul li a:link.menubooking,
nav ul li a:visited.menubooking {
    border: 1px #fff solid;
    padding: 5px 15px
}

nav ul li a:hover.menubooking,
nav ul li a:focus.menubooking,
nav ul li a:active.menubooking {
    border: 1px #333 solid
}

.menu-icon {
    display: none;
    width: 40px;
    height: 40px;
    font-family: "Font Awesome 6 Free";
    font-size: 1.6rem;
    color: #283140
}

a.menu-icon:before {
    content: "\f0c9"
}

a:hover.menu-icon {
    width: 40px;
    height: 40px;
    color: #fff
}

main {width: 100%;max-width:initial; margin: 0 auto; padding: 0}



.profil{max-width:480px; text-align:left}.profil img,.flexwrap div:nth-child(3) img{border-radius: 125px}
.bande{padding:50px 0; box-sizing: border-box}
section, .maincontain {
	width: 80%;
    padding: 0;
    margin: 40px auto ;
	max-width: 1440px;
}
.txtintro{text-align:center}
.frise{height:28px; mask:var(--mask);clip-path: none; --mask: linear-gradient(0,#0000 28px,#000 0), radial-gradient(28px,#000 calc(100% - 1px),#0000) bottom/51.8px 56px;}

.flex2wrap{display:flex; margin: 40px auto; justify-content: center;gap: 50px; align-items:center}
.flex2wrap img{display:block}
.listidee{min-width:380px;align-self:start; padding:0 10px;box-sizing:border-box}

.gridwrap {	
	--gap: 60px;
	display: grid;
	grid-template-columns: repeat(var(--numcolumns), 1fr);
	grid-template-rows: auto;
	gap: var(--gap);
	list-style: none;
	box-sizing: border-box;
	padding: 0;
	margin:20px auto;
	overflow: hidden;	
}
/*.gridwrap picture{display:block}*/

/* GRID */ 
.gridphoto {	
	--gap: 0.25em;
	--size: calc(100vw / var(--numcolumns));
	display: grid;
	grid-template-columns: repeat(var(--numcolumns), 1fr);
	grid-template-rows: auto;
	gap: var(--gap);
	list-style: none;
	box-sizing: border-box;
	padding: 0;
	margin:0 auto;
	overflow: hidden;	
}

.multi{--numcolumns: 6;max-width:1440px}
.col_1 {--numcolumns: 1; max-width: 1024px; gap: 0;}
.col_2{--numcolumns: 2}
.col_3{--numcolumns: 3; max-width:1024px}
.col_4{--numcolumns: 4}
.col_5{--numcolumns: 5;max-width:2400px}
.col_6{--numcolumns: 6;max-width:1440px}
.col_8{--numcolumns: 8;max-width:2400px}
.selfstart{align-self:start; margin-top:25px}
.rowcenter{align-items:center}

.gridphoto figure {
  display: block;
  max-width:100%;
  margin:0;
  padding:0;
  border:none;
  line-height: 0;
}
.col_3 figure, .col_5 figure {max-height: 480px}

.wd02 {grid-column: span 2}
.wd03 {grid-column: span 3}
.wd04 {grid-column: span 4}
.wd05 {grid-column: span 5}
.high {
	grid-row: span 2;
	height: auto; 
}

.gridphoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.photocopyright {
  position: relative;
  left: 0;
  bottom: 10px;
  background: transparent;
  margin: -30px 0 0;
  width: 50px;
  height: 10px;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);}

.tooltip {
  position: absolute;
  top: -35px;left:0;
  width: max-content;
  background:#b88858;
  color: #fff;
  line-height:initial;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(.65,.05,.36,1);
}
.photocopyright:hover .tooltip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  max-width: 200px;
height: auto;
white-space: normal;
word-wrap: break-word;
}

.tooltip a{color:#fff;text-decoration:none}

.tooltip:before {
  position: absolute;
  content: "";
  height: 8px;
  width: 8px;
  background: #b88858;
  bottom: -3px;
  left: 40px;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}



.fa {
  font-size: 1rem;
  font-family: 'Font Awesome 6 Free';
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
}
.fa-camera::before {
  content: "\f030";
  color: #fff;
  opacity:70%;
  margin: 0 10px;
}
/* GRID */



.set{width: 100%; max-width: 1136px; text-align:center; margin: 20px auto 40px;padding: 10px 0; background:#e1e1e1}
.row{display:flex;margin: 10px 22px;align-items:center;justify-content: center;background:#fff;flex-wrap:wrap}
.row div{flex: auto;min-width: initial}
.row div:first-child{line-height:0;width: 50%;}
.row div.txt{width: 25%;padding: 0 10px;box-sizing:border-box}
.row div:last-child{line-height:0;width: 24.2%;}
.row div img{width:100%}
.row div a{color:#919191}
.column{display: inline-block; vertical-align: top; width: 24.5%}
.column article,.column div{text-align: center;padding: 10px}
.introgite {padding: 10px 20px; margin-top: -10px; background:#fff}
.introgite p{margin-bottom: 30px}
.introgite p.ttl, .row div.txt p.ttl {font-size: 1.5em; padding: .5em 0 0; margin: 0 auto;max-width:230px}
.introgite p.ttl a, .row div.txt p.ttl a{color:#919191}
.introgite h2 {padding: 0.5em 0 0}
.introgite h2 a{color:#919191; margin: 0}

#maisons,
#idees {
    margin: 0 auto;
    padding: 0
}

#maisons li {
    display: inline-block;
    width: 30%;
    margin: 0 1%;
    vertical-align: top
}

#idees div {
    display: inline-block;
    margin: 50px 1%;
    width: 30%;
    vertical-align: top;
    text-align: center
}

#idees div p {
    font-size: .9em;
    margin: 1em 1.5em 2em;
    min-height: 140px
}

#idees img {
    border: 1px solid #e5e5e5;
    padding: 6px;
    width: 96%;
    max-width: 360px;
    height: auto;
    margin-bottom: 10px
}

#idees h3 {
    font: 1.1em 'geosanslightregular', Helvetica, Verdana, Arial, sans-serif
}

.separate {
    height: 3px;
    margin: 60px 0 40px;
    border-bottom: 1px solid #aaa
}

.rowgite {
    width: 100%;
    max-width: 1092px;
    text-align: left;
    margin: 0 auto 40px
}

.row-1col,
.row-1coldej {
    display: inline-block;
    vertical-align: top;
    width: 31.33%;
    height: auto;
    max-height: 344px;
    padding: 0;
    margin: 1%
}

.row-2col {
    display: inline-block;
    vertical-align: top;
    width: 64.66%;
    height: auto;
    max-height: 344px;
    padding: 0;
    margin: 1%
}

.row-1col h2,
.row-2col h2 {
    color: #fff;
    font-size: 1.6em;
    font-weight: 700;
    padding: 0;
    text-shadow: 0 1px 1px rgba(93, 90, 82, 0.8)
}

.row-1col h2 span,
.row-2col h2 span {
    line-height: normal;
    display: block;
    font-size: .7em;
    font-weight: 400
}

.name {
    position: absolute;
    margin: 14% 0 0 3%
}

.name h2:hover {
    color: #444
}

.nametop {
    position: absolute;
    margin: 3% 0 0 3%
}

.ptidej02 {
    position: relative;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5em;
    width: 333px;
    height: 333px;
    padding: 40px;
    margin: 40px auto;
    text-align: center;
    color: #fff;
    background-color: #aaa;
    -moz-border-radius: 50%;
    -webkit-border-radius: 162px;
    border-radius: 162px
}

.ptidej02circle {
    position: absolute;
    top: 6px;
    left: 6px;
    padding: 40px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.7);
    -moz-border-radius: 50%;
    -webkit-border-radius: 390px;
    border-radius: 390px;
    width: 208px;
    height: 208px
}

.maison {
    width: 100%
}

.maisonprix {
    color: #919191;
    font-size: 1em;
    text-align: center;
    margin-top: -25px
}

.maison article,
.maison aside {
    display: inline-block;
    vertical-align: top
}

.maison article {
    width: 70%;
    padding: 0
}

.maison aside {
    width: 25%;
    margin-left: 2%;
    padding: 0 1%;
    font-size: .9em
}

.maison aside img,
.cadreoffre img {
    width: 100%
}

.maison article p {
    padding: 0;
    margin: 20px 0
}

.maison article ul {
    font-size: .9em
}

.maison article h4 {
    padding: 0
}

.equipmt {
    margin: 0;
    padding: 0;
    list-style: none
}

.equipmt li {
    padding: 8px;
    display: inline-block;
    cursor: help
}

.wifi:before,
.car:before,
.jeu:before,.dog:before,
.picnic:before {
    font-family: "Font Awesome 6 Free";
    font-size: 1.5rem;
    color: #aaa
}

.wifi span,
.car span,
.jeu span,.dog span,
.picnic span {
    display: none
}

.wifi:before {
    content: "\f1eb"
}

.car:before {
    content: "\f1b9"
}

.jeu:before {
    content: "\f1ae"
}

.dog:before {
    content: "\f6d3"
}

.ancv img {
    vertical-align: middle
}

.cadre,
.cadredispo,
.cadresorties {
    padding: 0 0 20px;
    margin: 0 0 10px;
    background: #e1e1e1;
    min-width: 320px
}

.cadreoffre {
    padding: 0;
    margin: 0 0 10px;
    background: #fff;
    min-width: 256px
}

.charabancs {
    text-align: center;
    padding: 0;
    margin: 0 0 10px;
    background: #e1e1e1
}

.maison aside h5 {
    font: 1.5em 'geosanslightregular', Helvetica, Verdana, Arial, sans-serif;
    background: transparent;
    color: #727272;
    padding: .5em
}

.maison aside ul,
.maison aside p {
    list-style: disc inside;
    padding: 1.2rem;
    margin: 0
}

#features h3 {
    margin: .5em 0 1em
}

.cadrelisting {
    border: 1px dashed #aaa;
    padding-top: 10px;
    margin-bottom: 30px
}

.listing {
    display: inline-block;
    vertical-align: top;
    width: 28%;
    padding: 0 1em;
    margin: 0 0 20px
}

.bloc-lit {
    display: inline-block;
    vertical-align: top;
    margin-top: -35px;
    width: auto;
    height: 160px;
    line-height: 160px;
    padding: 0 1em;
    text-align: center;
    background: url(img/etoile-grise.png) no-repeat center
}

.bloc-lit ul {
    line-height: normal;
    vertical-align: middle;
    display: inline-block
}

.gallery {
    width: 100%;
    text-align: center;
    margin: 50px auto;
    padding: 0;
    list-style: none
}

.gallery li {
    display: inline-block;
    padding: 5px
}

.gallery li.inv {
    display: none
}

.gallery img {
    cursor: pointer;
    width: 100%;
    max-width: 200px;
    height: auto;
    padding: 6px;
    margin: 0;
    border: 1px #ccc solid
}

.bkorange {
    background: #EB5C45
}

.bkbleu {
    background: #68B6B7
}

.bkdarkgreen {
    background: #7A7B73
}

#sortirenbretagne {
    width: 100%
}

#sortir li {
    display: inline-block;
    vertical-align: top;
    width: 30%;
    text-align: center;
    padding: 0 0 10px;
    margin: 20px 1%
}

#sortir img {
    max-width: 100%;
    height: auto;
    border: 1px solid #e5e5e5;
    padding: 6px
}

#sortirenbretagne h4 {
    color: #68B6B7
}

#menusortir {
    position: relative;
    left: 0;
    top: 0;
    float: right;
    width: auto;
    height: auto;
    min-height: 150px;
    padding: 20px;
    margin: 0 0 40px 40px;
    line-height: .8em;
    color: #fff
}

#menusortir p {
    text-align: center
}

#menusortir ul {
    margin: 0;
    padding: 20px 40px;
    text-align: left;
    list-style: url(img/star.png)
}

#menusortir ul li {
    margin: 0;
    padding: 0
}

#menusortir ul li a:link,
#menusortir ul li a:visited {
    color: #fff;
    line-height: 1.5em
}

#menusortir ul li a:hover,
#menusortir ul li a:focus,
#menusortir ul li a:active {
    color: #444
}

#sortirenbretagne li span {
    color: #68B6B7
}

.lieu ul {
    list-style: url(img/star.png) inside
}

.lieu li {
    padding: .5em 0
}

.bloc {
    display: inline-block;
    vertical-align: top;
    width: 48%;
    height: auto
}

.plus,
.plusw {
    position: relative;
    display: inline-block;
    margin-left: 3px;
    width: 15px;
    height: 15px
}

.plus {
    border: 1px solid #fff
}

.plusw {
    border: 1px solid #f5f5f5
}

.plus:hover {
    background: #fff;
	border: 1px solid #fff;
    cursor: pointer
}

.plusw:hover {
    background: #3c3c3b;
    border: 1px solid #3c3c3b;
    cursor: pointer
}

.plus:before,
.plusw:before {
    top: 7px;
    left: 4px;
    height: 1px;
    width: 7px
}

.plus:after,
.plusw:after {
    top: 4px;
    left: 7px;
    height: 7px;
    width: 1px
}

.plus:before,
.plus:after {
    content: "";
    position: absolute;
    background: #fff;
    -webkit-transition: all .3s cubic-bezier(0.5, 0.2, 0.5, 1);
    transition: all .3s cubic-bezier(0.5, 0.2, 0.5, 1)
}

.plusw:before,
.plusw:after {
    content: "";
    position: absolute;
    background: #976e45;
    -webkit-transition: all .3s cubic-bezier(0.5, 0.2, 0.5, 1);
    transition: all .3s cubic-bezier(0.5, 0.2, 0.5, 1)
}

.plus:hover:before,
.plus:hover:after,
.plusw:hover:before,
.plusw:hover:after {
    background: #976e45
}

table {
    border-collapse: collapse;
    margin: 20px auto;
    width: 100%
}

caption {
    background: #aaa;
    color: #fff;
    font-size: 1.2em
}

th,
td,
caption {
    border: 1px solid #eeeade;
    padding: 10px 1%;
    text-align: center;
    font-weight: 400
}

th{
    background: var(--camel) /*#b89776*/; color: #fff;font-weight:bold
}

.firstcolumn {
    width: 220px
}

#infos ul {
    list-style: disc inside
}

/* cadre tabs gîte */
.cadre-tabs{display: flex;max-width:1024px;flex-wrap: wrap;box-sizing: border-box;margin:40px auto}input[name="tabs"] {position: absolute;opacity: 0}.label{box-sizing: border-box;width: 100%;height: 2.5rem;display: flex;justify-content: center;align-items: center;border:1px solid #ddd;color: #222;margin-top:5px;cursor:pointer;}.label:before{content:"+"; font-size:2rem;font-weight:bold;margin-right:5px}input[name="tabs"]:checked + label{background-color:#fff}.cadre-info{width:100%;box-sizing: border-box;display: none;padding: 10px 30px 20px;background:#fff}input[name="tabs"]:checked + label + .cadre-info{animation:anim 1s linear;display: block;}.cadre-info ul{list-style: disc inside;}@keyframes anim{from{opacity: .5}to{opacity: 1}}@media screen and (min-width:72rem){.label{box-sizing: border-box;position: relative;cursor: pointer;background: none;width: 10rem;border:1px solid #ddd;border-bottom:none;margin-right:5px;border-top-left-radius: 5px 5px;border-top-right-radius: 5px 5px;}.label:before{content:none}.cadre-info{order:1 !important }}

.flexinfo{display:flex; gap: 20px; justify-content: space-between;flex-wrap:wrap}
.flexinfo div{flex:2}
.flexinfo picture{margin:10px auto;flex:1}
/* Fin cadre tabs gite */

form {
    max-width: 70%;
    min-width: 25%;
    border-width: 1px;
    border-color: #aaa;
    border-style: dashed;
    color: #3c3c3b;
    font-size: 16px;
    margin: 0 auto 20px;
    background-color: #F5F5F5;
    padding: 20px
}

label {
    color: #3c3c3b;
    font-size: 18px;
    display: block;
    margin-top: 15px
}

input[type=radio],
input[type=checkbox] {
    margin: 10px;
    width: 13px
}

form div {
    display: block
}

input,
textarea,
select {
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    border-radius: 0;
    padding: 3px;
    width: 100%;
    color: #3c3c3b
}

input[type=image] {
    width: auto;
    max-width: 100%
}

select {
    width: 30%
}

clear {
    clear: both
}

textarea {
    height: 123px;
    width: 100%
}

input[type=submit] {
    color: #fff;
    background-color: #aaa;
    width: 30%;
    padding: 15px;
    border: none;
    margin: 40px 0 20px;
    font: 1.4em 'geosanslightregular', Helvetica, Verdana, Arial, sans-serif;
    font-weight: 700;
    letter-spacing: .05em;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px
}

input[type=submit]:hover {
    background-color: #3c3c3b;
    transition: all .2s ease;
    cursor: pointer
}

footer {font-size:1em;margin: 0; padding: 0}
footer img {margin: 10px 0}
footer a img { margin: 0}
footer li { padding: 10px 10px 10px 0; box-sizing: border-box}
footer a, footer a:link, footer a:visited  {color: #fff}

.footer-bkg {background: #976e45}
.footer-content {
	display:flex;
    width: 100%;
	max-width:1440px;	
    margin: 0 auto;
	color:#fff;
    background: transparent;
    padding: 30px 0;
	gap: 60px;
	justify-content: space-around;
	flex-wrap:wrap
}
.footer-content div:nth-child(1){width:35%;	max-width:320px;text-align: center;border:1px solid #fff;padding:0 10px;box-sizing:border-box}
.footer-content div:nth-child(2), .footer-content div:nth-child(3){width:240px;text-align: left}
.acces{position: relative;top: -80px;left: -120px}

.footitle{font-size: 1.2em;line-height: 1.4em}

a.footbtn, a:link.footbtn, a:visited.footbtn {
	display: block;
	border:1px solid #fff;
    text-align: center;
	padding:5px 20px; box-sizing:border-box;
	text-decoration: none;
}
a:focus.footbtn,a:hover.footbtn,a:active.footbtn{color:#fff;border-radius:4px;background: #222;border: 1px solid #222}

.gitesmenu {
    background:var(--beige);
    margin: 0;
    padding: 10px 0;box-sizing:border-box;
	text-align:center
}

.gitesmenu ul,.legal ul {
	display:flex; 
	width: 100%;
	max-width:1440px;
	margin: 0 auto;
	justify-content:center;
	flex-wrap:wrap;
	gap:0 10px;
	}

.gitesmenu li {font-size: 1.2em;width:120px;margin:0}
.legal li {font-size: 1em}

.gitesmenu a:link,
.gitesmenu a:visited,
.legal a:link,
.legal a:visited {
    color: var(--color01)
}

.gitesmenu a:focus,
.gitesmenu a:hover,
.gitesmenu a:active,
.legal a:focus
.legal a:hover,
.legal a:active
 {
	 color: #976e45;
}
/*
.legal {
    background: #fff;
    margin: 0;
    padding: 0 0 10px;
    text-align: left;
    height: 32px
}

.legal a:link,
.legal a:visited {
    color: #3c3c3b;
    display: inline
}

.legal a:hover,
.legal a:active,
.legal a:focus {
    color: #aaa
}*/

.reseaux{display:flex;gap:30px; justify-content:center;align-items:center}
.reseaux li{width:50px;height:50px; line-height:50px;text-align:center}
a.instagram { content: url(img/instagram-icon.png)}

a.facebook:before,
a.googleplus:before,
a.pinterest:before,
a.tripadvisor:before,
a.youtube:before {
    font-family: "Font Awesome 5 Brands";
    font-size: 1.5rem;
    color: #f5f5f5
}

a:hover.facebook:before,
a:hover.googleplus:before,
a:hover.pinterest:before,
a:hover.tripadvisor:before,
a:hover.youtube:before {
    color: #aaa
}

a.facebook:before {content: "\f39e"}
a.googleplus:before {content: "\f0d5"}
a.pinterest:before {content: "\f231"}
a.tripadvisor:before {content: "\f262"}
a.youtube:before {content: "\f167"}

.facebook span,
.googleplus span,
.pinterest span,
.instagram span,
.tripadvisor span,
.youtube span {
    display: none
}

.top-icon,
a .top-icon,
a:active.top-icon,
a:link.top-icon,
a:visited.top-icon,
a:focus.top-icon {
    display: block;
    float: right;
    width: 30px;
    height: 30px;
    margin: -45px 30px 10px;
    padding: 0;
    background: url(img/pmp-icon50.png) no-repeat -210px -10px;
    border: none;
    border-radius: 50px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px
}

a:hover.top-icon {
    opacity: .7
}

/* Responsive slide */
.rslides{position:relative;list-style:none;overflow:hidden;width:100%;padding:0;margin:20px auto;border:1px solid rgba(204,204,204,0.5)}.rslides-maison{position:relative;list-style:none;overflow:hidden;width:100%;padding:0;margin:40px 0;border:1px solid rgba(204,204,204,0.5)}.rslides li{-webkit-backface-visibility:hidden;position:absolute;display:none;width:100%;left:0;top:0}.rslides li:first-child{position:relative;display:block;float:left}.rslides img{display:block;height:auto;float:left;width:98%;border:0;padding:1%}.caption{position:absolute;display:block;font:.8em texgyreadventorregular,Helvetica,Verdana,Arial,sans-serif;bottom:0;left:0;right:0;padding:5px 15px;text-align:left;background:rgba(114,114,114,0.5) none repeat scroll 0 0;color:#e4e4e4}
/* Fin Responsive slide */

@media screen and (max-width: 1681px) {

    .ptidej02 {
        font-size: .9em;
        width: 200px;
        height: 200px;
        margin: 20px auto
    }
    .ptidej02circle {
        width: 186px;
        height: 186px
    }
}


@media screen and (max-width: 1451px) {

.footer-content { width: 98%}
    a.bkonline:link,
    a.bkonline:visited {
        right: 10%
    }
    .gitesmenu ul {
        width: 100%;
        margin: 0 auto
    }
}

@media screen and (max-width: 1281px) {
    .maison article {
        display: inline-block;
        vertical-align: top;
        width: 60%;
        padding: 0
    }
    .maison aside {
        width: 35%
    }
    .maisonprix {
        margin-top: -20px
    }
    .listing,
    .bloc-lit {
        display: block;
        width: 90%
    }
    .ptidej02 {
        margin: 0 auto
    }
}


@media screen and (max-width: 1181px) {
    .footer-content,
    .legal ul {
        width: 95%;
        margin: 0 auto
    }
    .footer-content div {
        width: 40%;
        padding-bottom: 20px
    }
    .maison article,
    .maison aside {
        display: block;
        width: 90%;
        margin: 10px auto
    }
    .bloc {
        display: block;
        width: 100%
    }
    .menu-icon {
        display: inline-block;
        z-index: 999999999999
    }
    .logo {
        margin: 0 auto
    }
    ul.lang {
        position: relative
    }
    a.bkonline:link,
    a.bkonline:visited {
        right: 40px;
        padding: 5px 15px
    }
    .notetop p:before,
    .notetop p:after {
        content: none
    }
    .circle {
        width: 106px;
        height: 106px;
        position: absolute;
        top: 6px;
        left: 6px
    }
}
@media screen and (max-width: 1025px) {
header{height:140px}
.page{top:100px}
.navigation {width:100%}
section, .maincontain {width: 90%}
}
@media screen and (max-width: 821px){.row div:first-child{width:100%}}
@media screen and (max-width: 768px) {
	h1{line-height:1em}
	.column{width: 49%}
    ul.lang {right: 0} /* à supprimer au final */
    a.bkonline:link,
    a.bkonline:visited {
        right: 20px
    }
    .notetop p {
        font-size: .9em
    }
	.gridwrap{grid-template-columns:1fr;justify-items:center;gap:20px 0}
	
    #maisons li {
        width: 46%;
        margin: 20px 1%
    }
    #idees div {
        display: block;
        width: 100%;
        margin: 0 auto
    }
    figure {
        margin: 0 auto
    }
    #idees div {
        padding-bottom: 40px;
        border-bottom: 1px dashed #aaa
    }
    #idees div p {
        font-size: .8em;
        height: auto;
        min-height: 40px
    }
    #idees img {
        margin-top: 40px
    }
    .row-1coldej {
        display: block;
        margin: 10px auto
    }
    #menusortir {
        float: none;
        margin: 0 auto 40px
    }
	.footer-content{gap:30px}
    .footer-content div{display: block; width: 90% }
	.footer-content div:nth-child(1){width: 90%; max-width:480px}
	.acces{top:initial;left:initial}

/*
    footer img {
        display: inline-block;
        margin: 10px 10px 0 0
    }*/
	
.flexinfo div,.flexinfo picture{flex:auto}

}

@media screen and (max-width: 641px) {
    a.bkonline:link,
    a.bkonline:visited {
        width: 100%;
        height: 40px;
        top: 0;
        right: 0;
        line-height: 1em;
        font-size: 1.5rem;
        border-radius: 0;
        background: var(--sauge);
        box-shadow: 1px 1px 2px rgba(0, 0, 0, .3)
    }
    .notetop {
        top: 40px;
        padding: 5px 20px 5px 80px;
        text-align: left;
        line-height: 1em;
        box-sizing: border-box
    }

    .logo {
        width: 240px
    }

    h1 {
        text-align: center;
        margin-top: 30px;
        line-height: 1em
    }
    #maisons li {
        display: block;
        width: 100%;
        margin: 20px auto
    }
    .rond {
        margin-top: 20px
    }
    #sortir li {
        display: block;
        width: 92%
    }
    .row-1col,
    .row-2col,
    .row-1coldej {
        display: block;
        width: 80%;
        margin: 20px auto;
        text-align: center
    }
    .row-1col img,
    .row-2col img {
        width: auto;
        max-width: 80%;
        height: auto;
        max-height: 344px
    }
    .name {
        margin: 5% 0 0 15%
    }
    form {
        max-width: 90%
    }
    select {
        width: 70%
    }
    input[type=submit] {
        width: 70%
    }
}

@media screen and (max-width: 521px) {
.row{flex-direction:column; margin:0 auto}
.row div.txt{width:100%}
.row div:last-child{display:none}
.row, .row div img{max-width:284px}
.column{width: 98%;}.introgite {max-width:264px; margin:-10px auto 0}
.maisonprix p span {display: block}


.lang-select .lang {flex-direction: column-reverse;}
.lang li.active {order: 1}
.lang:hover li:not(.active) { transform: translateY(-225px)}
}
