*
{
	box-sizing: border-box;
	outline: none;
}
body
{
	margin: 0;
	padding: 0;

	font-family: arial;
	font-size: 13px;
	color: #3B3B3B;
}
header
{
	position: relative;

	border-top: 20px solid #1c2341;

	width: 100%;
	height: 115px;
}
header #logo
{
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background-image: url(../img/fond.jpg);

	border: 5px solid #1c2341;
	z-index: 2;
}
header #logo > img
{
	max-width: 100%;
    min-width: 275px;
}
#hormann
{
	text-align: center;
}
#hormann > img,
#hormann > div
{
	height: 150px;
	display: inline-block;
	vertical-align: top;
    margin: 0px auto 15px auto;
}
#hormann > div
{
    background-color: #1c2341;
    padding: 25px 5px;
    border: 3px solid #a01616;
}
#hormann > div > *
{
	display: inline-block;
	vertical-align: middle;
}
#hormann > div > img
{
	width: 150px;
}
#hormann > div > div
{
    font-size: 19px;
    color: white;
    font-weight: bold;
    width: 225px;
    text-transform: uppercase;
    text-align: justify;
}
#slider
{
	position: relative;

	background-image: url(../img/slider.jpg);
	background-size: cover;
	background-position: 0% 50%;	

	width: 100%;
	height: 715px;
}
#slider .text-slide
{
	max-width: 450px;	
	padding-top: 15%;
	padding-left: 10px;
    text-shadow: 1px 1px 1px #000000;
}
#slider .text-slide div
{
    font-size: 37px;
    color: #0035b1;
    font-weight: bold;
}
#slider .text-slide hr
{
	width: 150px;
    height: 3px;
    background-color: #e39d21;
    border: none;
    margin: 13px 0px;
}
#slider .text-slide span
{
	font-size: 20px;
	color: #ebb11d;
}
#slider .text-slide span b
{
	font-size: 44px;
    color: #ebb11d;
    padding-bottom: 5px;
    display: block;
}
#slider .note
{
	position: absolute;
	bottom: 5px;
	left: 15px;
	color: white;
    text-shadow: 1px 1px 1px #000000;
}
@media screen and (max-width: 800px)
{
	#slider .text-slide 
	{
	    display: none;
	}
}

.video
{
	float: left;
    width: 450px;
    height: 250px;
    margin-right: 27px;
    max-width: 100%;
}
.clear
{
	clear: both;
}
h1
{
	padding: 0;
	margin: 0;
	font-weight: normal;
}
h2
{
	padding: 0;
	margin: 0;
	font-weight: bold;
	color: #1c2341;
	font-size: 15px;
}
p
{
	margin: 5px 0;
	padding: 0;
	text-align: justify;	
}
ul
{
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0;
}
ul > li
{
	margin: 0;
	padding: 0;
	font-size: 13px;
}
.center
{
	text-align: center;
	margin: 0 auto;
}
.full
{
	width: 100%;
}
.resp
{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1100px;
}
.fa-asterisk
{
	color: #890000;
	font-size: 10px;
}

.button,
button
{
	padding: 8px 15px;
	border: 0;
	background-color: #1c2341;

	color: #FFF;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: normal;
	font-size: 18px;

	cursor: pointer;

	transition: ease-in-out 200ms background-color;
}
.button:hover,
button:hover
{
	background-color: #404a73;
}

form > fieldset
{
	border: 0;
}
form > fieldset > legend
{
	width: 100%;
	margin: 0;
	padding: 5px 5px 15px 5px;

	font-size: 20px;
	text-transform: uppercase;
	text-align: center;

	border-bottom: 1px solid #CCC;
}
form > fieldset > ul
{
	margin: 0;
	padding: 0;
	list-style: none;
}
form > fieldset > ul > li
{
	margin: 5px 0;
	padding: 5px 0;
}
form > fieldset > ul > li > label:first-child
{
	display: block;
	padding: 5px 0;
	width: 120px;
}
form > fieldset > ul > li > input,
form > fieldset > ul > li > textarea
{
	width: 100%;
	padding: 8px;
	border: 1px solid #CCC;
}
form > fieldset > ul > li > input:focus,
form > fieldset > ul > li > textarea:focus
{
	border: 1px solid #1c2341;
}
form > fieldset > ul > li.full > button
{
	width: 100%;
}
#captchagc,
#captchagc *
{
	box-sizing: border-box;
	outline: none;
}
#captchagc
{
	position: relative;
	background-color: #E7E7E7;
	border: 1px solid #D6D6D6;
	width: 250px;
	height: 70px;
	overflow: hidden;
	margin: 10px auto;
}
#captchagc > img:nth-of-type(1)
{
	position: absolute;
	top: 18px;
	left: 18px;
	width: 34px;
	height: 34px;
	z-index: 2;
	margin: 0!important;
}
#captchagc > img:nth-of-type(2)
{
    position: absolute;
    top: 40px;
    left: 25px;
    width: 25px;
	height: 25px;
	z-index: 3;
	margin: 0!important;
	animation: 3s ease-out 1s infinite running captchagc;
}
@keyframes captchagc
{
	0% { left: 25px; }
	25% { left: 25px; }
	50%{ left: 210px; }
	100%{ left: 210px; }
}
#captchagc > img:nth-of-type(1) + div
{
	position: absolute;
	top: 14px;
	right: 14px;
	border: 1px solid #535353;
	border-radius: 4px;
	width: 41px;
	height: 40px;
	background-color: #FFF;
	z-index: 1;
}
#captchagc > img:nth-of-type(1) + div.accept
{
	border: 1px solid #F3990C;
}
#captchagc > img:nth-of-type(1) + div.hover
{
	border: 1px solid #1CD129;
}
#captchagc:before
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: ">>>>>>>>";
	font-family: 'Open sans', sans-serif;
	font-size: 17px;
}
#captchagc.valid:after
{
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	content: "";
	background-color: rgba(255,255,255,0.9);
	z-index: 3;
}
#captchagc > i
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 4;
	opacity: 0;
	transition: ease-in-out 200ms opacity, ease-in-out 200ms left;
}	
#captchagc.valid > i:nth-of-type(1)
{
	opacity: 1;
	left: 17%;
}
#captchagc > i:nth-of-type(1):before
{
	content: "\f00c";

	font-family: "FontAwesome";
	font-weight: normal;
	
	padding: 5px;
	color: #12D954;
	font-size: 30px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-radius: 100%;
	background-color: #FFF;
	border: 2px solid #12D954;
}
#captchagc > i:nth-of-type(2)
{
	position: absolute;
	top: 23px;
	left: 113px;
	z-index: 5;
	font-size: 25px;
	opacity: 1;
}
#captchagc.valid > img:nth-of-type(1)
{
	top: 18px!important;
	left: 197px!important;
}
#captchagc.valid > img:nth-of-type(2)
{
	display: none;
}

.notification
{
	padding: 10px;
	font-weight: bold;
	border-radius: 3px;
	color: #C1C1C1;
	border: 1px solid #C1C1C1;
	background-color: #ECECEC;
	margin: 5px 0;
}
.notification.small
{
	margin: 1px;
	padding: 2px 10px;
}
.notification:before
{
	display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
	font-size: 18px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 5px;
    width: 20px;
    vertical-align: middle;
}
.notification a
{
	color: #fff;
}
.notification > span
{
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 25px);
}
.notification.information
{
	color: #FFFFFF;
	border: 1px solid #0D4E94;
	background-color: #1F71CA;
}
.notification.information:before
{
	content: "\f05a";
}
.notification.alert
{
	color: #FFFFFF;
	border: 1px solid #D09608;
	background-color: #EB9807;
}
.notification.alert:before
{
	content: "\f071";
}
.notification.validation
{
	color: #FFFFFF;
	border: 1px solid #08921F;
	background-color: #08B404;
}
.notification.validation:before
{
	content: "\f058";
}
.notification.erreur
{
	color: #FFFFFF;
	border: 1px solid #920808;
	background-color: #B40404;
}
.notification.erreur:before
{
	content: "\f057";
}


form.demande
{
	position: absolute;
	top: 20px;
	right: 0;
	margin: 0 10px;
	
	width: calc(100% - 20px);
	max-width: 450px;

	padding: 10px;
	background-color: rgba(255,255,255,0.9);
}
#description
{
	padding: 20px;
	background-color: #E6E6E6;
}

.numero
{
	background-color: #1c2341;
}
.numero.top
{
	display: inline-block;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 245px;
}
.numero.top a
{
	display: inline-block;
}
#pictos
{
	text-align: center;
	padding: 20px 0;
	width: 100%;
}
#pictos ul
{
	text-align: center;
}
#pictos ul > li
{
	display: inline-block;
	width: 14%;
	text-align: center;
	vertical-align: middle;
}
#pictos ul > li > img
{
	max-width: 100%;
	max-height: 150px;
}

#separateur
{
	background-image: url(../img/separateur.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: 50% 50%;	
	height: 300px;
}
#separateur h2
{
	text-transform: uppercase;
	font-size: 25px;
	text-align: center;
}
#separateur  > div
{
	padding: 22px 0;
}
#separateur ul
{
	width: 420px;
    max-width: 100%;
    margin: 10px auto;
    padding: 0px 5px;
}
#separateur ul > li
{
	padding: 5px 0;
	font-size: 17px;
}
#separateur ul > li:before
{
	content: "\f00c";

	display: inline-block;
	margin-right: 10px;

	font: normal normal normal 14px/1 FontAwesome;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #1c2341;
	font-size: 20px;
}

#familles
{
	/*border-top: 21px solid #1c2341;*/
	padding: 20px 0;
	background-color: #E6E6E6;
}
#familles ul
{
	width: 100%;
	text-align: center;
}
#familles ul > li
{
	position: relative;
	display: inline-block;
	padding: 0;
	margin: 5px;
	width: calc(33% - 10px);
	min-width: 150px;
	font-size: 0;
}
@media screen and (max-width: 960px)
{
	#familles ul > li
	{
		width: 100%;
		margin: 5px 0px;
	}
}
#familles ul > li img
{
	width: 100%;
	margin: 0;
}
#familles ul > li > div
{
	display: block;
	padding: 5px;
	background-color: rgba(0,0,0,0.8);
	
	position: absolute;
	bottom: 5px;
	left: 5px;
	right: 5px;
	
	color: #FFF;
	font-size: 13px;
	font-weight: bold;
	
	text-align: center;
	z-index: 2;
}
.galerie
{
	display: none;
}

#maps
{
	padding: 10px 0 0 0;
}
#maps > h2
{
	position: relative;
	text-align: center;
	padding: 10px 0;
	margin: 10px 0;
	text-transform: uppercase;
}
#maps > h2:after
{
	content: "";
	position: absolute;
	border-bottom: 3px solid #1c2341;
	width: 90px;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

footer
{
	background-color: #1c2341;
	color: #FFF;
	text-align: center;
	padding: 5px;
}

@media screen and (max-width: 960px)
{
	.numero.top
	{
		display: none;
	}
}