/* 
bleu : 00acec
gris : eaeaea
*/
*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html{
	font-size:62.5%;
}

body{
	font-family: 'Roboto', sans-serif;
	font-size:1.8rem;
	padding-top: 15.3rem;
}

.menu-ico{display: none;}

.wrap{
	width: 140rem;
	max-width: 100%;
	padding: 0px 20px;
	margin-left: auto;
	margin-right: auto;
}

header{
	background-color: #000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 1.3rem;
	z-index: 999;
}

header .wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

header a.logo{
	display: block;
	width: 30rem;
	transform: translateY(3rem);
}

header a.logo img{display: block;width: 100%;}

header .menucont, footer .menucont{
	flex-grow: 1;
	text-align: right;
	margin-bottom: 2.5rem;
}

a.tel, a.mail{
	text-transform: uppercase;
	vertical-align: middle;
	display: inline-block;
	text-decoration: none;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 300;
	transition: all .4s;
}

a.tel:hover, a.mail:hover{
	color: #00acec;
}

a.mail{
	margin-right: 4rem;
}

a.tel img{
	display: inline-block;
	width: 2.5rem;
	margin-right: 1rem;
	vertical-align: middle;
}

a.tel span{
	
	display: inline-block;
	vertical-align: middle;
}

header nav, footer nav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 2.5rem;
}

header nav a, footer nav a, header a.btnnav.sm{
	padding: 1.5rem;
	display: block;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 300;
	margin-left: 3rem;
	
}

header nav a:hover, footer nav a:hover, header nav a.selected, header a.btnnav.sm:hover{transition: all .4s;color: #00acec;}

header a.btnnav, footer a.btnnav{
	border:.3rem solid #00acec;
	font-weight: 500;
}

header a.btnnav.sm{display: none;}

header a.btnnav:hover, footer a.btnnav:hover{
	background-color: #00acec;
	color: #000 !important;
}

header nav .wsub{
	position: relative;
	margin-left: 3rem;
}

header nav .wsub>a{margin-left: 0;}

header nav .wsub .sub{
	position: absolute;
	background-color: #000;
	width: 20rem;
	left: 50%;
	margin-left: -10rem;
	border-bottom:.3rem solid #00acec;
	opacity: 0;
	transform-origin: top;
	transform: scaleY(.01);
	
}

header nav .wsub:hover .sub{
	transform: scaleY(1);
	opacity: 1;
	transition: all .4s;
}

header nav .wsub .sub a{font-size: 1.6rem;padding: 1rem;text-align: center;margin-left: 0;}

.slider img{
	display: block;
	width: 100%;
	object-fit: cover;
	object-position: center;
}

.slider>div{position: relative;}

.slider>div:not(:first-child){display: none;}

.bx-viewport .slider>div:not(:first-child){display: block;}

.slider .wrap{
	position: absolute;
	bottom: 4rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	color: #fff;
	text-align: center;
}

.slider .wrap p{
	text-transform: uppercase;
    font-weight: 700;
    color: #fff;
    font-size: 3.5rem;
    letter-spacing: 1px;
	text-shadow: 0px 0px .8rem rgba(0,0,0,0.8);
}

.slider .wrap a{
	display: inline-block;
	padding: 1.5rem 7rem;
    border: 1px solid #00acec;
    background-color: #00acec;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    margin-top: 3rem;
    margin-bottom: 0rem;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 1px;
	text-decoration: none;
	text-shadow: 0px 0px .8rem rgba(0,0,0,0);
    transition: all .4s;
}

.slider .wrap a:hover{
	background-color: #fff;
    color: #00acec;
}

footer{
	background-color: #000;
	color: #fff;
	padding: 3rem 0;
}

footer .wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

a.logof{
	display: block;
	width: 21rem;
}

a.logof img{display: block;width: 100%;}

footer p.copy{
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 5rem;
	text-transform: uppercase;
	font-weight: 300;
	font-size: 1.4rem;
}

footer p.copy a{
	color: #fff;
	text-decoration: none;
}

footer p.copy img{
	display: inline-block;
	vertical-align: middle;
	width: 9rem;
	margin-left: .7rem;
}

.banneroutro img{
	display: block;
	width: 100%;
}

.banneroutro{
	position: relative;
}

.banneroutro .wrap{
	position: absolute;
	bottom: 4.5rem;
	left: 50%;
	text-align: left;
	transform: translateX(-50%);
}

.banneroutro h2{
	text-transform: uppercase;
	color: #fff;
	font-size: 4.5rem;
	font-weight: 700;
	text-shadow: 0px 0px .8rem rgba(0,0,0,0.8);
	letter-spacing: .1rem;
}

.banneroutro h2 span{
	display: block;
	font-size: 3rem;
}

.outro, .intro{
	text-align: center;
	padding-bottom: 9rem;
	font-size: 2rem;
}

.intro{padding-top: 6rem;}

.outro p, .intro p, .services p{
	margin-top: 5rem;
}

.services p a{
	text-decoration: none;
	color: #00acec;
}

.services p a:hover{text-decoration: underline;}

.intro h1, .services h1, .services h2, .reservations h1, .faq h1, .contact h1{
	text-transform: uppercase;
	font-weight: 700;
	color: #00acec;
	font-size: 4rem;
	letter-spacing: 1px;
}

.reservations h1, .faq h1, .contact h1{margin-top: 5rem;margin-bottom: 3rem;}

.faq h2, .contact h2{margin: 4rem 0;}

.intro h2, .services h3, .faq h2, .contact h2{
	text-transform: uppercase;
	font-size: 2.7rem;
	letter-spacing: 1px;
}

.reservations p{
	letter-spacing: 1px;
	margin-bottom: 5rem;
}

a.teaser{
	display: flex;
	justify-content: center;
	align-items: center;
	
	background-color: #fff;
	text-decoration: none;
	color: #000;
}

a.teaser:first-of-type{
	color: #fff;
	background-color: #00acec;
}

a.teaser:last-of-type:not(:first-of-type), .contact+a.teaser:first-of-type{
	background-color: #eaeaea;
	color: #000;
}


a.teaser:hover img{opacity: .8;}

a.teaser .img{
	width: calc(50vw - 70rem + (.25 * 140rem));
}

a.teaser .img img{
	display: block;
	width: 100%;
	transition: all .4s;
}

a.teaser .ico img, .contact+a.teaser:first-of-type .ico img{
	display: block;
	width: 18rem;
	margin-left: auto;
	margin-right: auto;
	transition: all .4s;
}

a.teaser:first-of-type .ico img{width: 13.5rem;}

a.teaser .ico{
	width: calc(.25 * 140rem);
	margin-right: calc(50vw - 70rem);
}

a.teaser:first-of-type .ico, a.teaser:last-of-type .ico{
	margin-right: 0;
	margin-left: calc(50vw - 70rem);
}

a.teaser .txttease{
	width: calc(.5 * 140rem);
	padding: 0px 20px;
	text-align: center;
}

a.teaser h2, .contact+a.teaser:first-of-type h2{
	text-transform: uppercase;
	font-weight: 700;
	font-size: 4rem;
	letter-spacing: 1px;
	color: #00acec;
}

a.teaser:first-of-type h2{
	color: #fff;transition: all .4s;
}

a.teaser h3{
	text-transform: uppercase;
	font-weight: 700;
	font-size: 2.6rem;
	letter-spacing: 1px;
	transition: all .4s;
}

a.teaser p{
	margin-top: 3.5rem;
	transition: all .4s;
}

a.teaser:hover h3, a.teaser:hover p, .contact+a.teaser:hover:first-of-type p, .contact+a.teaser:hover:first-of-type h3, .contact+a.teaser:hover:first-of-type h2 {color: #00acec;}
a.teaser:first-of-type:hover h2, a.teaser:first-of-type:hover p, a.teaser:first-of-type:hover h3{color: #000;}

.servicenav{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 2rem 1rem 5rem;
}

.servicenav a{
	display: block;
	position: relative;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.8rem;
	padding: .5rem 1.5rem;
	color: #00acec;
	text-decoration: none;
}

.servicenav a:after{
	content: "";
	display: block;
	width: 0;
	background-color: #00acec;
	position: absolute;
	bottom: 0;
	left: 1rem;
	height: 2px;
	transition: all .4s;
}

.servicenav a:hover:after, .servicenav a.selected:after{width: calc(100% - 2rem);}

.services img{
	display: block;
	width: 100%;
	margin-top: 6.5rem;
}

.services{
	text-align: center;
}

.services ul, .faq ul, .contact ul{
	text-align: left;
	display: inline-block;
	list-style-type: none;
	width: 95rem;
	margin-top: 3.5rem;
	max-width: 100%;
}

.services ul li, .faq ul li, .contact ul li{
	font-weight: 500;
	padding-left: 2.5rem;
	position: relative;
}

.services ul li:before, .faq ul li:before, .contact ul li:before{
	content: "";
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	display: block;
	position: absolute;
	left: 0;
	background-color: #00acec;
	top: .7rem;
}

.reservations{
	text-align: center;
}

.reservations form{
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	width: 93rem;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.reservations .ico{
	width: 17rem;
	margin-right: 2rem;
	margin-bottom: 5rem;
}

.reservations .ico img{
	display: block;
	width: 6.8rem;
	margin-left: auto;
	margin-right: auto;
}

.formcont{
	display: flex;
	width: calc(100% - 19rem);
	margin-bottom: 5rem;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.reservations form input:not([type=submit]):not([type=radio]){
	display: block;
	width: 100%;
	font-size: 1.7rem;
	font-weight: 300;
	padding: 1.5rem 2rem;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border:1px solid #000;
	color: #000;
	font-family: 'Roboto', sans-serif;
	margin-bottom: 2rem;
}

.reservations form input.no:not([type=submit]):not([type=radio]){
	width: calc(25% - 2rem);
	margin-right: 2rem;
}

.reservations form input.rue:not([type=submit]):not([type=radio]){
	width: 75%;
}

.reservations form input.ville:not([type=submit]):not([type=radio]){
	width: 75%;
}

.reservations form input.prov:not([type=submit]):not([type=radio]){
	width: calc(25% - 2rem);
	margin-left: 2rem;
}

.reservations form input.cp:not([type=submit]):not([type=radio]){
	width: 25%;
	margin-left: auto;
	margin-right: auto;
}

.reservations form input[type=submit]{
	padding: 1.5rem 7rem;
	border:1px solid #00acec;
	background-color: #00acec;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	margin-top: 7rem;
	margin-bottom: 20rem;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 1px;
	transition: all .4s;
}

.reservations form input[type=submit]:hover{
	background-color: #fff;
	color: #00acec;
}

.reservations form label{
	font-size: 1.7rem;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.reservations form input[type=radio]{
	display: none;
}

.reservations form input[type=radio]+label{
	width: auto;
	padding: 1.5rem 5.5rem;
	border:1px solid #00acec;
	text-transform: uppercase;
	color: #00acec;
	font-size: 1.8rem;
	font-weight: 700;
	margin-right: 2rem;
	margin-bottom: 3rem;
}

.reservations form input[type=radio]:checked+label{
	background-color: #00acec;
	color: #fff;
}

.faq{text-align: center;margin-bottom: 10rem;}
.faq.tal{text-align: left;}

.faq p, .contact p{
	margin-bottom: 3rem;
}

.faq p a, .contact p a{
	color: #00acec;
	text-decoration: none;
}

.faq p a:hover, .contact p a:hover{text-decoration: underline;}

.faq ul, .contact ul{margin-bottom: 3rem;margin-top: 0;}

.faq table, .contact table{
	width: 93rem;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
	margin-bottom: 3rem;
}

.contact table tr:first-child td{text-transform: uppercase;font-weight: bold;}

.faq table td, .contact table td{
	border-bottom:1px solid #000;
	padding: 20px;
	vertical-align: top;
	text-align: left;
}

.contact{
	margin-bottom: 7rem;
	text-align: center;
	
}

.contact>.wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.contact p, .contact h1, .contact h2, .contact h3{width: 100%;}

.contact #map{
	height: 36rem;
	width: calc(100% - 49rem);
	background-color: #eaeaea;
}

.contact #map+p{
	text-align: left;
	width: 46rem;
}

.contact ul{
	width: 60rem;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.popup{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,.8);
	z-index: 999;
}

.popup p{
	background-color: #fff;
	padding: 30px;
	color: #000;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.marker{
	display: block;
}

.marker:after{
	content: "";
	background-color: #00acec;
	width: 35px;
	height: 35px;
	display: block;
	border-radius:50% 50% 0 50%;
	transform: rotate(45deg);
	position: absolute;
	top: -41px;
    left: -18px;
}

.marker:before{
	content: "";
	background-color: #fff;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: -28px;
	left: -5px;
	z-index: 2;
}

.openif{
    width: 100%;
    display: none;
}

.openifinner{
    display: flex;
    margin-bottom: 5rem;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    border:1px solid rgba(0,0,0,.2);
    padding: 2.5rem;
}
.reservations form .openifinner input[type=radio]+label{margin-bottom: 0;}

.timepicker{
    position: absolute;
    top: 0;
    left: 0;
    width: max-content;
    background-color: #fff;
    border:1px solid rgba(0,0,0,.2);
    border-radius: 3px;
    display: flex;
    gap:0rem;
    padding: .2rem .5rem .2rem 1.5rem;
}

.timepicker ul{
    width: max-content;
    max-height: 16rem;
    padding-right: 1rem;
    overflow: scroll;
    list-style-type: none;
}
.timepicker li.emptyli{
    background-color: #fff !important;
    pointer-events: none;
}
.timepicker li{
    padding: 1rem 1.5rem;
    border-radius: 2px;
    background-color: rgba(0,0,0,.04);
    text-align: center;
    margin-bottom: .25rem;
    font-weight: 600;
    transition: background-color .2s;
}
.timepicker li:hover{
    cursor: pointer;
    background-color: rgba(0,0,0,.1);
}
.timepicker li.selected{
    background-color:#00acec;
    color: #fff;
}
input[type="date"] {
border: none;
box-sizing: border-box;
outline: 0;
padding: .75rem;
position: relative;
width: 100%;
}
input[type="date"]::-webkit-calendar-picker-indicator {
background: transparent;
bottom: 0;
color: transparent;
cursor: pointer;
height: auto;
left: 0;
position: absolute;
right: 0;
top: 0;
width: auto;
}

@media screen and (max-width:1450px){
	header nav a, footer nav a, header nav .wsub{margin-left: 1rem;}
	header a.logo{width: 26rem;}
	body{padding-top: 14.5rem;}
	
	a.teaser .txttease{width: 50vw;padding: 20px 40px;}
	a.teaser h2, .contact+a.teaser:first-of-type h2{font-size: 3.5rem;}
	a.teaser h3{font-size: 2.3rem;}
	a.teaser .ico, a.teaser .img, a.teaser:first-of-type .ico, a.teaser:last-of-type .ico {
		width: 13.5vw;
		margin-left: 0;
		margin-right: 0 !important;
		padding: 0;
	}
	a.teaser .img{width: 36.5vw;}
	a.teaser .ico:last-child img{width: calc(100% - 1.5vw);margin-right: 1.5vw;}
	a.teaser .ico:first-child img, .contact+a.teaser:first-of-type .ico img{width: calc(100% - 1.5vw);margin-left: 1.5vw;}
	.slider img{height: 850px !important;}
}

@media screen and (max-width:1370px){
	.slider img{height: 750px !important;}
}

@media screen and (max-width:1100px){
	.slider img{
		height: 40rem !important;
	}
	header a.btnnav.sm{display: block;margin-left: auto;margin-right: 2rem;}
	header .menucont{flex-grow: 0; margin-right: 2rem;margin-bottom: 0;}
	.menu-ico{
		display: block;
		width: 45px;
		cursor: pointer;
	}
	
	.menu-ico div{
		display: block;
		width: 80%;
		height: .3rem;
		background-color: #fff;
		margin-left: auto;
		margin-right: auto;
	}
	
	.menu-ico div:nth-child(2){
		margin: .5rem auto;
	}
	
	header .wrap{align-items: center;}
	
	header a.logo {
    	width: 20rem;
		transform: translateY(1.5rem);
		position: relative;
		z-index: 2;
	}
	
	body {
		padding-top: 10.6rem;
	}
	
	header .menucont nav{
		display: none;
		position: absolute;
		top: 10.6rem;
		left: 0;
		width: 100%;
		background-color: #000;
		margin-top: 0;
		flex-wrap: wrap;
	}
	
	header .menucont nav a, header nav .wsub{
		width: 100%;
		text-align: center;margin-left: 0;
	}
	
	header nav a.btnnav, header nav .wsub>a{display: none !important;}
	
	header nav .wsub .sub {
		position: relative;
		background-color: rgba(255,255,255,0.05);
		width: 100%;
		left: 0%;
		margin-left: 0;
		border-bottom: 0rem solid #00acec;
		opacity: 1;
		transform-origin: top;
		transform: scaleY(1);
	}
	
	.slider .wrap p{font-size: 2.8rem;}
	.slider .wrap a{padding: 1.5rem 4rem;font-size: 1.5rem;}
	.intro h1, .services h1, .services h2, .reservations h1, .faq h1, .contact h1{font-size: 3rem;}
	.intro h2, .services h3, .faq h2, .contact h2{font-size: 2rem;}
	footer nav{display: none;}
	.outro, .intro{font-size: 1.6rem;}
	
	a.teaser h2, .contact+a.teaser:first-of-type h2 {
    	font-size: 2.5rem;
	}
	a.teaser h3, body {
    	font-size: 1.6rem;
	}
	
	a.teaser p{font-size: 1.4rem;margin-top: 2rem;}
	a.teaser .txttease{padding: 2rem;}
	
	.banneroutro h2{font-size: 3.5rem;}
	.banneroutro h2 span{font-size: 2.2rem;}
	.banneroutro .wrap{bottom: 2rem;}
	.servicenav a{font-size: 1.4rem;}
	.contact #map+p{width: 32rem;}
	.contact #map{width: calc(100% - 35rem);height: 33rem;}
	
	
}

@media screen and (max-width:800px){
	header a.btnnav.sm{font-size: 1.5rem;padding: 1rem;}
	.intro h1, .services h1, .services h2, .reservations h1, .faq h1, .contact h1 {
    	font-size: 2.8rem;
	}
	
	a.teaser h2, .contact+a.teaser:first-of-type h2 {
    	font-size: 2.2rem;
	}
	a.teaser p{margin-top: 1.5rem;}
	footer p.copy a{display: block;width: 100%;}
}

@media screen and (max-width:700px){
	a.teaser{flex-wrap: wrap;}
	header a.btnnav.sm{
		display: none;
	}
	
	header a.logo{width: 12rem;transform: translateY(1rem);}
	
	a.tel, a.mail{
		font-size: 1.4rem;
	}
	
	a.tel img{width: 2rem;margin-right: .5rem;}
	
	header .menucont{margin-right: 0;}
	header{padding-top: 0;}
	
	header .menucont nav{top: 5.6rem;}
	body{padding-top: 5.6rem;}
	
	header nav a.btnnav{
		display: block !important;
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 2.5rem;
		margin-top: 1rem;
	}
	
	.slider .wrap p{font-size: 2rem;}
	.slider .wrap a{margin-top: 1.5rem;font-size: 1.4rem;padding: 1rem 2rem;}
	.slider .wrap{bottom: 2rem;}
	
	.slider img {
    	height: 20rem !important;
	}
	
	.intro h1, .services h1, .services h2, .reservations h1, .faq h1, .contact h1 {
    	font-size: 2.5rem;
	}
	
	.intro h2, .services h3, .faq h2, .contact h2 {
    	font-size: 1.8rem;
	}
	.outro p, .intro p, .services p {
    	margin-top: 3rem;
	}
	
	.banneroutro img{
		height: 220px;
		object-fit: cover;
		object-position: center;
	}
	
	.banneroutro h2 {
    	font-size: 2.5rem;
	}
	.banneroutro h2 span {
    	font-size: 1.6rem;
	}
	
	a.logof{margin-left: auto;margin-right: auto;}
	
	footer .menucont{
		display: block;
		width: 100%;
		margin-top: 3rem;
		text-align: center;
	}
	
	footer .menucont a.tel, footer .menucont a.mail{text-align: center;margin-right: 0;width: 100%;margin-bottom: .5rem;}
	
	a.teaser .img{width: 100%;order:3;}
	a.teaser .ico, a.teaser:first-of-type .ico, a.teaser:last-of-type .ico{order:1;width: 20vw;}
	a.teaser .txttease{order:2;width: calc(100% - 20vw);padding: 3rem 2rem;}
	
	a.teaser h2, .contact+a.teaser:first-of-type h2{font-size: 1.8rem;}
	a.teaser h3{font-size: 1.3rem;}
	a.teaser p{font-size: 1.3rem;}
	
	.servicenav a{text-align: center;width: 100%;}
	
	footer p.copy{margin-top: 1rem;}
	
	.reservations .ico{
		width: 5rem;
		margin-right: 1.5rem;
	}
	
	.reservations .ico img{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.formcont{
		width: calc(100% - 6.5rem);
	}
	.reservations form label{font-size: 1.4rem;}
	.reservations form input:not([type=submit]):not([type=radio]){
		font-size: 1.4rem;
		margin-bottom: 1rem;
		padding: 1.2rem;
	}
	
	.reservations form input.ville:not([type=submit]):not([type=radio]){width: 100%;}
	
	.reservations form input.prov:not([type=submit]):not([type=radio]), .reservations form input.cp:not([type=submit]):not([type=radio]){
		width: calc(50% - .5rem);
		margin-left: 0;
	}
	
	.reservations form input.cp:not([type=submit]):not([type=radio]){
		margin-right: 0;
		margin-left: 1rem;
	}
	
	.reservations form input.no:not([type=submit]):not([type=radio]){
		width: calc(25% - 1rem);
		margin-right: 1rem;
	}
	
	.reservations form input[type=radio]+label{
		font-size: 1.4rem;
		padding: 1rem 1rem;
		margin-right: 1rem;
	}
	
	.reservations form input[type=radio]+label:last-child{margin-right: 0;}
	
	.reservations form input[type=submit]{
		padding: 1rem 3rem;
		font-size: 1.5rem;
		margin-top: 4rem;
		margin-bottom: 5rem;
	}
	
	.contact #map, .contact #map+p{width: 100%;margin-bottom: 2rem; text-align: center;}
	
	.contact #map{
		height: 20rem;
		text-align: left;
		margin-bottom: 4rem;
	}
	
	.contact table td{
		padding: .5rem;
		font-size: 1.1rem;
	}
	
	.contact table{width: 100%;max-width: 100%;}
	
	body{font-size: 1.5rem;}
}