/**** 
Couleur primaire : 4472C4
Couleur secondaire : D1B33E

Couleur primaire foncée : 1E3E77
Couleur primaire clair : 72A5FF

***/

body, html { padding:0; margin:0; font-size: 14px; width: 100%; height: 100%; min-width: 320px; font-family: Arial, "Helvetica Neue", Helvetica, "sans-serif"; color:#000; background-color: #FFFFFF; }
a, input, textarea { outline: none; }
img { vertical-align: middle; max-width: 100%; }
sup { font-size: 0.83em; vertical-align: super; line-height: 0; }
h1 { margin: 20px 0; text-transform: uppercase; font-size: 22px; }
h1, h2, /*.estateLocation,*/ a { color: #2E75B6; }
.estate h1 { margin-bottom: 10px; margin-right: 150px; }
#KSiteContainer { position: relative; width: 100%; height: 100%; }
#KSiteContent { padding: 1px 20px 0; width: 100%; max-width: 1200px; margin:0 auto; -webkit-box-sizing: border-box; box-sizing: border-box; }
#KSiteHeader { background: url("../images/background-header.png") top center / 1395px no-repeat; }
#KSiteTopHeader .wrapper { position: relative; }
#KSiteTopHeader, #KSiteMainMenu ul, #KSiteHeader .tabsContent, .tabsHeader a.on, .tabsHeader a:hover { background-color: #FFFFFF; }
#KSiteLogo { text-align: center; z-index: 10; }

#KSiteMainMenu { font-size: 14px; }
#KSiteMainMenu ul { position: absolute; list-style: none; margin:0; padding: 0; z-index: 9; display: none; width: 100%; }
#KSiteMainMenu a { display: block; padding: 15px 30px; text-transform: uppercase; font-weight: bold; }
#KSiteMainMenu .separator { width: 50px; }

.KBurger, .KBurger::before, .KBurger::after { position: absolute; width: 26px; height: 2px; background-color: #2E75B6; transition: all .5s; }
.KBurger { display: block; top: 50%; left: 20px; }
.KBurger::before, .KBurger::after { content: " "; }
.KBurger::before { bottom: 8px; }
.KBurger::after { top: 8px; }
.open.KBurger { height: 0; width: 0; }
.open.KBurger::before { transform: rotate(45deg); bottom: -1px; }
.open.KBurger::after { transform: rotate(-45deg); top: -1px; }

a { text-decoration: none; transition: color .3s, background-color .3s; }
a:hover, a.on, #KSiteMainMenu ul li:hover > a, #KSiteMainMenu ul li.on > a, #KSiteFooter a:hover { color: #ffc91e; }

.alignLeft { text-align: left; }
.alignCenter { text-align: center; }
.alignRight { text-align: right; }
.alignJustify { text-align: justify; }
.vAlignMid { vertical-align: middle !important; }
.hide, .onlyDesktop { display: none; }
.bold { font-weight: bold; }
.padding { padding: 20px; }

.home #KSiteBreadcrumb { display: none; }
#KSiteBreadcrumb { min-height: 20px; font-size: 12px; box-sizing: border-box; padding: 0 20px; /*box-shadow: 0 -10px 20px -15px #CCC;*/ background-color: #EEEEEE; }
#KSiteBreadcrumb a { display: inline-block; padding: 10px 0; }
.breadcrumbSeparator { padding: 10px; font-size: 10px; line-height: 40px; }

/*.mainColumnContainer { margin-left: 194px; border-left: 1px dashed #CCC; }*/
.blockContainer { position: relative; background-color: #EEEEEE; border-radius: 5px; overflow: hidden; }
.blockContainer + .blockContainer { margin-top: 20px; }
.blockContent { padding: 10px; }
.type .blockContent { padding-bottom: 51px; }

#KSiteFooter { position: relative; bottom:0; left: 0; right: 0; font-size: 12px; text-align: center; background-color: #2E75B6; color: #FFFFFF; padding-top: 5px; margin-top: 40px; }
#KSiteFooter .wrapper { padding: 15px; box-sizing: border-box; }
#KSiteFooter a { color: #FFFFFF; }
#KSiteFooter .reassurance { background-color: #EEEEEE; color: #2E75B6; font-weight: bold; font-size: 14px; }
.reassurance .block { vertical-align: middle; padding: 0 7px; }
.reassurance .block .block { text-align: left; }

.wrapper { max-width: 1200px; width: 100%; margin: 0 auto; }
.left/*, .estateTitle*/ { float: left; }
.right/*, .estateLocation*/ { float: right; }
.clearAll { clear: both; }
hr { border-bottom-color: #2E75B6; border-top: none; margin: 20px 0; }
table.center { margin: 0 auto; }
.block { display: inline-block; box-sizing: border-box; vertical-align: top; }
.block50 { width: 50%; }
.blockService { padding: 15px 5px; }
.blockService img { margin-bottom: 10px; }

.estateMainContainer { position: relative; }

.textMin { font-size: 12px; }

#contactForm { width: 75%; }
#contactForm input[type='text'], #contactForm input[type='email'], #contactForm textarea { width: 100%; padding: 10px; box-sizing: border-box; border: #CCC 1px solid; background: none; transition: border-color .3s; }
#contactForm input[type='text']:hover, #contactForm input[type='email']:hover, #contactForm textarea:hover, #contactForm input[type='text']:focus, #contactForm input[type='email']:focus, #contactForm textarea:focus { border-color: #2E75B6; }
#contactForm input, #contactForm textarea { font-size: 14px; }
#contactForm textarea { height: 100px;  }
.messgaeSend { color: #3d8734; }
.messgaeNotSend { color: #dc2b1d; }

.alertMail { display: inline-block; padding: 10px 15px 10px 33px; font-size: 11px; background: #FFFFFF url("../images/alert-email.png") 15px center / 12px auto no-repeat; transition: none; }
.alertMail:hover { background-image: url("../images/alert-email-hover.png"); }
#estateFormAlert { display: inline-block; width: 100%; max-width: 420px; }
#estateFormAlert .inputLabel { display: block; }
.alertTitle { padding: 10px; margin: 20px 0; border-top: 1px dashed #2E75B6; border-bottom: 1px dashed #2E75B6; color: #2E75B6; text-transform: uppercase; }

/*.type #KSiteSearch { position: absolute; top: 240px; left: 10px; }*/
#KSiteHeader #KSiteSearch { position: relative; }
.leftColumn .type #KSiteSearch .tabsContainer { width: 200px; }
#KSiteHeader #KSiteSearch .tabsContainer { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 280px; }
#KSiteHeader #KSiteSearch .tabsHeader { margin-left: 5px; }
#KSiteHeader #KSiteSearch .tabsHeader a { border-radius: 5px 5px 0 0; }
#KSiteHeader #KSiteSearch .tabsContent { border-radius: 5px; }
.tabsHeader { display: inline-block; }
.tabsHeader a, .tabsContent { padding: 15px; }
.tabsHeader a { display: inline-block; vertical-align: middle; text-transform: uppercase; font-weight: bold; background-color: rgba(255,255,255,.5); }
.tabsContent { margin-top: -1px; box-shadow: 2px 2px 15px -5px #000; }
.tabsContent h2 { margin: 0 0 10px; font-size: 18px; }
.inputLabel input, .inputLabel select { padding: 5px; font-size: 12px; }
.type .leftColumn .inputLabel input, .type .leftColumn .inputLabel select { width: 100%; box-sizing: border-box; }
label[for^='buyNbRoom'] { display: inline-block; text-align: center; width: 26px; line-height: 26px; margin: 0 2px; background-color: #CCCCCC; color: #FFFFFF; font-size: 12px; cursor: pointer; box-shadow: 1px 1px 0px #AAA; transition: all .3s; }
label[for^='buyNbRoom']:hover { background-color: #BBB; }
label[for^='buyNbRoom'].on { background-color: #2E75B6; }
input[name^='buyNbRoom'] { display: none; }

.inputLabel, #buyPrice { display: inline-block; }
#KSiteHeader #buyPriceMax { width: 80px; }
/*#buyPriceMinDiv, #buyPriceMaxDiv { position: absolute; top: -30px; }
#buyPriceMinDiv { left: 1px; transform: translateX(-50%); }
#buyPriceMaxDiv { right: 1px; transform: translateX(50%); }*/
.inputLabel { font-size: 12px; font-weight: bold; color: #666; padding-bottom: 10px; }
#KSiteHeader .inputLabel { margin: 10px; padding-bottom: 0; margin-right: 10px; }
#KSiteHeader .inputLabel span { margin-right: 5px; }
.locationContainer { position: relative; display: inline-block; }
.leftColumn .type .locationContainer { display: block; }
.locationContainer .cities { position: absolute; top: calc(100% - 1px); left: 0; background: #EEE; min-width: 100%; font-weight: normal; z-index: 2; }
.locationContainer .cities .item { display: block; cursor: pointer; padding: 5px 10px; }
.locationContainer .cities .item.on, .locationContainer .cities .item:hover { background: #2E75B6; color: #FFFFFF; }

.btn { display: inline-block; padding: 12px 15px; background-color: #2E75B6; border: none; font-weight: bold; text-transform: uppercase; color: #FFFFFF; cursor: pointer; transition: all .3s; /*box-shadow: 1px 1px 0px #AAA;*/ border-bottom: #173a5b 4px solid; }
.btn:hover { background-color: #ffc91e; color: #7f640f; border-bottom-color: #7f640f; }

.listEstate { text-align: center; }
.estateItem { position: relative; margin: 10px; border: #CCCCCC 1px solid; text-align: left; border-radius: 5px; overflow: hidden; }
.estateImg { overflow: hidden; }
.estateImg > img { width: 100%; max-width: 500px; }
.estateImg a img { transition: all .5s; }
.estateImg a:hover img { transform: scale(1.05); }
.estatePrice { position: absolute; margin-top: -35px; right: 5px; padding: 10px 15px; background-color: #FFFFFF; font-size: 18px; border-radius: 5px 5px 0 0; }
.estate .estatePrice { margin-top: 24px; line-height: 16px; padding: 0; right: 20px; }
.estate .onlyMobile .estatePrice { margin-top: 36px; }
.estate .estatePrice span { font-size: 12px; }
.estateLocation { padding-left: 15px; background: url("../images/location.png") left center / auto 16px no-repeat; font-weight: bold; margin-top: 10px; }
.estateItem p { position: relative; overflow: hidden; text-overflow: ellipsis; height: 47px; margin-bottom: 0; }
.estateFooterItem { padding: 10px; height: 20px; line-height: 21px; text-align: center; font-weight: bold; }
a.estateFooterItem { display: block; background-color: #2E75B6; color: #FFFFFF; text-transform: uppercase; border-bottom: #173a5b 4px solid; border-top-left-radius: 5px; }
a.estateFooterItem:hover { background-color: #ffc91e; color: #7f640f; border-bottom-color: #7f640f; box-shadow: 1px 1px 0px #AAA; }

.nbPictures { position: absolute; top: 5px; right: 5px; padding: 5px 5px 5px 23px; font-size: 12px; color: #FFFFFF; background: rgba(0,0,0,.8) url("../images/picture.png") 6px center / 12px auto no-repeat; border-radius: 5px; }

.estateImg { position: relative; cursor: pointer; }
.imgZoom { position: absolute; right: 10px; bottom: 10px; padding: 20px; border-radius: 30px; background: rgba(0,0,0,.8) url("../images/zoom.png") center / 16px no-repeat; z-index: 9; transition: background-color .3s; }
.estateImg:hover .imgZoom { background-color: rgba(255,201,30,0.66); }
.estateImgThumbs img { margin: 6px 6px 0 0; opacity: .8; transition: opacity .3s; cursor: pointer; }
.estateImgThumbs img:nth-child(2n+4) { margin-right: 0; }
.estateImgThumbs img:hover, .estateImgThumbs img.on { opacity: 1; }
.estateItemAttr { background-color: #EEEEEE; display: inline-block; padding: 10px 20px; margin: 5px 10px 5px 0; text-align: center; line-height: 30px; width: 140px; box-sizing: border-box; }

.KGallery { position: fixed; top:0; left:0; right:0; bottom:0; background-color:rgba(0,0,0,0.9); z-index: 99999; display: none; }
.KGalleryClose { right: 10px; top: 10px; background: url("../images/close.png") center / 16px no-repeat; }
.KGalleryPrev { left: 10px; background: url("../images/prev.png") center / 16px no-repeat; }
.KGalleryNext { right: 10px; background: url("../images/next.png") center / 16px no-repeat; }
.KGalleryPrev, .KGalleryNext { top: 50%; transform: translateY(-50%); }
.KGalleryClose, .KGalleryPrev, .KGalleryNext { position: absolute; padding: 22px; cursor: pointer; background-color: rgba(0,0,0,.5); border-radius: 50px; z-index: 1; }
.KGalleryClose:hover, .KGalleryPrev:hover, .KGalleryNext:hover { background-color: rgba(255,201,30,0.66); }
.KGalleryImg { position: absolute; top: 50%; left: 50%; width: 100%; text-align: center; transform: translate(-50%, -50%); z-index: 0; }
.KGalleryImg img { position: absolute; opacity: 0; transform: translate(-50%, -50%); transition: all 1s; z-index: 0; }
.KGalleryImg img.prev { transform: translate(-100%, -100%) scale(.4) rotateZ(-20deg); transform-origin: top left; opacity: 0; }
.KGalleryImg img.next { transform: translate(50%, -100%) scale(.4) rotateZ(20deg); transform-origin: top left; opacity: 0; }
.KGalleryImg img.on { opacity: 1; z-index: 1; }

@media screen and (max-width: 679px) {
	#KSiteLogo { padding: 20px; }
	#KSiteHeader #KSiteSearch { min-height: 60px; }
	.home #KSiteHeader #KSiteSearch { min-height: 390px; }
	.type #KSiteHeader #KSiteSearch { min-height: 300px; }
	
	#KSiteHeader .tabsContent { padding-bottom: 50px; }
	#KSiteHeader .tabsContent .btn { position: absolute; left: 0; bottom: 0; width: 100%; border-radius: 0 0 5px 5px; }
	
	.reassurance .block33 { margin: 10px 0; }
	.reassurance .block .block + .block { width: 120px; }
}

@media screen and (min-width: 680px) {
	.KBurger { display: none; }
	#KSiteHeader #KSiteSearch .tabsContainer { width: auto; }
	#KSiteHeader { background: url("../images/background-header.png") top center / 1920px no-repeat; }
	#KSiteMainMenu ul { position: relative; display: block; }
	#KSiteMainMenu ul li { display: inline-block; }
	#KSiteMainMenu a { display: inline-block; padding: 20px; }
	#KSiteTopHeader { background-color: rgba(255,255,255,0.8); box-shadow: rgba(255,255,255,.8) 0 0 70px 50px; }
	#KSiteMainMenu ul { background: none; }
	#KSiteMainMenu { text-align: center; }
	#KSiteHeader #KSiteSearch { min-height: 60px; }
	.home #KSiteHeader #KSiteSearch { min-height: 530px; }
	.type #KSiteHeader #KSiteSearch { min-height: 300px; }
	#KSiteContent { min-height: calc(100% - 386px); }
	.type #KSiteContent { min-height: calc(100% - 467px); }
	#KSiteMainMenu ul li.on > a { background: url("../images/menu-on.png") center 40px / 20px no-repeat; }
	#KSiteFooter .reassurance { background-color: #EEEEEE; color: #2E75B6; padding: 10px 0; font-weight: bold; font-size: 14px; }
	.estate .onlyMobile .estatePrice { margin-top: 6px; }
	
	.block33 { width: 50%; }
	.reassurance .block33 { width: 33.33%; }
}
@media screen and (min-width: 980px) {
	.onlyDesktop { display: inline-block; }
	.onlyMobile { display: none; }
	#KSiteLogo { position: absolute; top: 50%; left: 20px; transform:translateY(-50%); }
	#KSiteMainMenu { text-align: right; }
	#KSiteMainMenu a { padding: 30px; }
	#KSiteMainMenu ul li.on > a { background-position: center 52px; }

	.alertMail { position: absolute; right: 0; bottom: -20px; border-radius: 0 0 5px 5px; }

	#KSiteHeader #KSiteSearch .tabsContainer { white-space: nowrap; }
	.home #KSiteHeader #KSiteSearch { min-height: 587px; }
	.type #KSiteHeader #KSiteSearch { min-height: 150px; }
	#KSiteContent { min-height: calc(100% - 365px); }
	.type #KSiteContent { min-height: calc(100% - 455px); }

	.block20 { width: 20%; }
	.block25 { width: 25%; }
	.block33 { width: 33.33%; }

	.leftColumn, .rightColumn { position: sticky; top: 20px; }
	.leftColumn { float: left; width: 200px;  margin-top: 10px; }
	.leftColumn + .mainColumnContainer { margin-left: 210px; }
	.rightColumn { float: right; width: 290px; margin-top: 66px; }
	.rightColumn + .mainColumnContainer { margin-right: 300px; }

	.blockEstateImg, .blockEstateContent { display: inline-block; vertical-align: top; }
	.blockEstateImg { width: 550px; padding: 0 25px; box-sizing: border-box; }
	.blockEstateContent { width: calc(100% - 550px); position: relative; }
}

@media screen and (min-width: 680px) and (max-width: 979px) {
	#KSiteLogo { padding-top: 20px; }
}
