body
{
	font-family: 'EBGaramondRegular', 'Adobe Garamond', 'Garamond', Times, serif;
	margin: 0;
	padding: 0;

	text-shadow: 0px 1px 0px #e1e1e8;
	#background-color: rgb(237, 225, 213);
	background-color: #efece8;

	font-size: 1.2em;
}

h1, h2, h3, h4, h5, h6, h7
{
	font-family: 'EBGaramondRegular', 'Adobe Garamond', 'Garamond', Times, serif;
	font-variant: small-caps;

	margin-top: 3em;
	color: rgb( 120, 111, 107 );
	font-weight: normal;
}

#page
{
	width: 1050px;
	margin: 0 auto;
	
	background-color: #fff;

	/* no prefix needed since FF 4, Chrome 9, Safari 5.1 */
	box-shadow: /* I have no idea what I’m doing. At least there’s no float. */
		 0px -16px 16px rgba( 175, 168, 166, 0.35 ),
		 0px  -4px 16px rgba( 175, 168, 166, 0.35 ),
		 0px  4px 16px rgba( 175, 168, 166, 0.35 );
}

#header
{
	position: relative;

	height: 210px;
	border-bottom: 24px solid rgb( 175, 169, 168 );
	margin-bottom: 70px;
}

#header .pattern
{
	position: absolute;
	width: 100%;
	height: 210px;
	
	left: 50%;
	margin-left: -50%;
	
	background: url('../images/pattern.png');
}

#header .losange
{
	background: url('../images/losange-280.png') no-repeat;

	width: 280px;
	height: 280px;

	position: absolute;
	left: 385px;
	top: 82px;
}

#content
{
	padding: 24px 24px 120px 24px;
	text-align: center;
}

.card
{
	border: 1px solid rgb( 175, 169, 168 );
	box-shadow: 6px 6px 16px rgba( 175, 168, 166, 0.35 );
	#background-color: rgb( 255, 255, 220 );
	background-color: #efece8;
	
	color: rgb( 52, 50, 50 );
}

.address
{
	/* margin-left: 108px; */
	display: inline-block;
	padding: 1.5em 6em;
        	
	text-align: center;
}

.map
{
	display: block;
	
	width: 780px;

	margin: auto;
	padding: 6px;
}

.map p
{
	margin: 0;
	font-size: 0.85em;
	text-align: right;
}

.map a:link,
.map a:visited
{
	color: rgb( 52, 50, 50 );
	text-decoration: none;
}

.map a:hover
{
	text-decoration: underline;
}

.itinerary
{
	text-align: left;
	margin-right: 2em;
}

.itinerary li
{
	margin-bottom: 1.5em;
}

.anum,
.exit,
.autoroute,
.cantonale,
.communale,
.culturel
{
	display: inline-block;
	margin: 0.25em 0.3em;
	padding: 1px;

	font-family: Helvetica, sans-serif;
	text-shadow: none;

	border: 2px solid #000;
	border-radius: 4px;
}

.anum
{
	color: #fff;
	background-color: #DF0303;
	border-color: #DF0303;
}

.exit,
.communale
{
	/* font-weight: bold; */

	color: #000;
	background-color: #fff;
	border-color: #ddd;
}

.autoroute
{
	color: #fff;
	background-color: #047242;
	border-color: #047242;
}

.cantonale
{
	color: #fff;
	background-color: #0F2CA7;
	border-color: #0F2CA7;
}

.culturel
{
	color: #fff;
	background-color: #92311E;
	border-color: #92311E;
	
	font-family: Times;
	font-style: italic;
}

.anum .in,
.exit .in,
.autoroute .in,
.cantonale .in,
.communale .in,
.culturel .in
{
	display: block;
	padding: 3px 12px;

	border: 2px solid #000;
	border-radius: 2px;
}

.anum .in,
.autoroute .in,
.cantonale .in,
.culturel .in
{
	border-color: #fff;
}

.exit .in,
.communale .in
{
	border-color: #000;
}

.tamoil
{
	display: inline-block;
	margin: 0.25em 0.3em;

	color: #f00;
	background-color: #205B97;

	font-family: Helvetica, sans-serif;
	font-weight: bold;
	font-style: italic;
	text-transform: uppercase;
	text-shadow: none;
}

.tamoil .in
{
	background-color: #fff;
	display: block;
	margin: 0 16px;
	padding: 3px 8px;
}

.rsvp_form .field
{
	/* position: relative; */
}

.rsvp_form .field .error
{
	width: 200px;
/* 
	position: absolute;
	right: 0;
	top: 2em;
 */
}

.rsvp_form .field .error ul
{
	/* border: 1px solid #888; */
	margin: 0;
	padding: 0;
	list-style: none;
	color: #555;
	font-size: 0.8em;
}

.rsvp_form .field.name
{
	display: inline-block;
	vertical-align: middle;
	margin-right: 1em;
}

.rsvp_form .field.name input
{
	width: 350px;
	font-size: 1em;
	padding: 0.4em;
}

.rsvp_form .field.is_attending
{
	display: inline-block;
	text-align: left;
	vertical-align: middle;
}

.rsvp_form .part_2
{
	margin-top: 1em;
}

.rsvp_form .middle_text
{
	vertical-align: middle;
}

.rsvp_form .field.num_adults,
.rsvp_form .field.num_children
{
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.5em;
	margin-right: 0.5em;
}

.rsvp_form .field.num_adults input,
.rsvp_form .field.num_children input
{
	width: 75px;
	font-size: 1em;
	padding: 0.4em;
	margin-right: 0.5em;
}

.rsvp_form .field.num_adults .error,
.rsvp_form .field.num_children .error
{
	width: 120px;
}

.rsvp_form .send
{
width: 151px;
height: 46px;
text-align: center;
border: none;
background: url('../images/button_inactive.png');
color: #fff;	
margin-top: 2em;
font-size: 16px;

#padding: 0.4em;
#	font-size: 1em;
#	border: none;
#	background-color: #047242;
#	border-radius: 4px;
#	color: #fff;
#	margin-top: 2em;
}

.rsvp_form .send:active
{
	background: url('../images/button_active.png');
}

.gift a:link,
.gift a:visited,
.back-link a:link,
.back-link a:visited
{
	color: rgb( 120, 111, 107 );
	text-decoration: none;
}

.gift a:hover,
.back-link a:hover
{
	text-decoration: underline;
}

.gift img
{
	/* border: 1px solid rgb( 175, 169, 168 ); */
	/* box-shadow: 6px 6px 16px rgba( 175, 168, 166, 0.35 ); */
	/* padding: 30px; */
}


.gift img.unknown
{
	border: 1px dashed rgb( 175, 169, 168 );
}

.gift .description,
.gift .price
{
	margin: 0.3em 20%;
}

.gift .description
{
	color: rgb( 120, 111, 107 );
	font-size: 0.9em;
}

.gift h2.header
{
	display: none;
}

.gift-comment
{
	margin: auto 20%;
	text-align: justify;
}

.gift-comment .signature
{
	text-align: right;
}

@media print
{
	body.objet #header,
	body.objet .back-link
	{
		display: none;
	}

	body.objet
	{
		background-color: transparent !important;
		text-shadow: none;
	}
	
	body.objet #page
	{
		margin-top: 1cm;
		padding-bottom: 4cm;
		width: 14cm;
		border: 1pt dashed #aaa;
		box-shadow: none;
	}
	
	body.objet #content
	{
		padding: 5mm;
	}

	body.objet h1, h2, h3, h4, h5, h6, h7
	{
		margin-top: 1em;
	}

	body.objet .gift h2.header
	{
		display: block;
	}
}
