/********** General **********/
body {
	font-family: "Roboto Slab", "Helvetica Neue", Helvetica,Arial, sans-serif;
	overflow-x: hidden;	
}

body {
	webkit-tap-highlight-color: #fed136;
}

html {
	scroll-behavior: smooth;
}

a, a:hover, a:focus, a:active, a.active {
	outline: 0;
}

a {
	color: #fed136;
}

a:hover, a:focus, a:active, a.active {
	color: #fec503;
}
 
/**********  Typographie **********/
h1, h2, h3, h4, h5, h6 {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;  
}

p, ul {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-size: 14px;
	line-height: 1.75;
}

p.large {
	font-size: 16px;
}

/**********  Les class typographie **********/
.text-muted {
	text-align: center;
	color: #777;
}

.text-muted-modal {
	text-align: center;
	font-size: 20px;
	font-style: italic;
	color: #777;
}
.text-muted-justify {	
	text-align: justify;
	color: #777;
}

.text-primary {
	color: #fed136;
}

.text-uppercase {
	text-transform: uppercase;	
}

.ul {	
	background-color: #f5f5f5;
	width: auto;	
    list-style-type: none;
    margin: 0;
    padding: 0;  
}

.li a {
    display: block;
    color: #000;
	text-decoration: none;
    padding: 0;    
}

.padding {
    padding-bottom: 20px;    
}

.image {	
	border: 2px solid #111;	
}

.img {	
	border: 2px solid #111;	
}

.img:hover  {
  opacity: 0.3;
}

/**********  Les class des pages  **********/
.service-heading {
	text-transform: none;
	margin: 15px 0;	
}

.img-centered {
	margin: 0 auto;
}

.bg-light-gray {
	background-color: #f7f7f7;
}

.bg-darkest-gray {
	background-color: #222;
}

.complement {
	display: none; 
}

.color {
	background-color: transparent;
	border-color: transparent;
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	color: #fff;
	padding-top: 10px;
}

.caractere {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-size: 14px;
	color: #000;
	padding-top: 10px; 	
}

.caption p {	
	font-size: 28px;
	font-variant: small-caps;
	font-weight: 800;	
	line-height: 1.75;
	margin-top: 10px;
	margin-bottom: 10px;
}

.erreur {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-size: 14px;
	color: #841025;
	padding-top: 10px; 	
}

.placeholder {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-size: 38px;
	color: #841025;
	padding-top: 10px; 	
}

/********** Les pseudo-élément **********/
::-moz-selection {
	background: #fed136;
	text-shadow: none;	
}

::selection {
	background: #fed136;
	text-shadow: none;	
}

img::selection {
	background: 0 0;
}

img::-moz-selection {
	background: 0 0;
}


/********** Section du Menu navigation **********/
.navbar-default {
	background-color: #222;
	border-color: transparent;
}

.navbar-default .navbar-brand {
	font-family: "Kaushan Script", "Helvetica Neue", Helvetica, Arial, cursive;	
	color: #fed136;
	padding-top: 10px;
}

.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active {
	color: #fec503;
}

.navbar-default .navbar-collapse {
	border-color: rgba(255,255,255,.02);
}

.navbar-default .navbar-toggle {
	background-color: #fed136;
	border-color: #fed136;
}

.navbar-default .navbar-toggle .dropdown-toggle {
	background-color: #fed136;
	border-color: #fed136;
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: #fff;
}

.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus {
	background-color: #fed136;
}

.navbar-default .nav li a {
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-weight: 400;	
	text-transform: uppercase;	
	letter-spacing: 1px;
	color: #fff;
	margin-top: 10px;
}

.navbar-default .nav li a:hover, .navbar-default .nav li a:focus {
	color: #fed136;
	outline: 0
}

.navbar-default .navbar-nav>.active>a {
	background-color:#fed136;
	border-radius: 0;
	color: #fff;	
}

.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{
	background-color: #fec503;
	color: #fff;	
}

@media (min-width:768px) {
.navbar-default {
	background-color:transparent;
	border: 0;	
	-webkit-transition: padding .3s;
		-moz-transition: padding .3s;
	transition: padding .3s;
	padding: 25px 0;
}

.navbar-default .navbar-brand {
	font-size: 2em;
	-webkit-transition: all .3s;
		-moz-transition: all .3s;
	transition: all .3s;
}

.navbar-default .navbar-nav>.active>a {
	border-radius: 3px;
}

.navbar-default.navbar-shrink {
	background-color: #222;
	padding: 10px 0;
}

.navbar-default.navbar-shrink .navbar-brand {
	font-size: 1.5em;
	}
}

/********** Section du header **********/
header {
	background-image: url('../images/pages/header-bg.jpg');
	background-repeat: none;
	background-attachment: scroll;
	background-position: center center;
	-webkit-background-size: cover;
		-moz-background-size: cover;
			-o-background-size: cover;	
	background-size: cover;	
	text-align: center;
	color: #fff; 
}

.header-especes {
	background-image: url('../images/pages/header-bg4.jpg');
	background-repeat: none;
	background-attachment: scroll;
	background-position: center center;
	-webkit-background-size: cover;
		-moz-background-size: cover;
			-o-background-size: cover;	
	background-size: cover;	
	text-align: center;
	color: #fff; 
} 

.header-mentions {
	background-image: url('../images/pages/header-bg5.jpg');
	background-repeat: none;
	background-attachment: scroll;
	background-position: center center;
	-webkit-background-size: cover;
		-moz-background-size: cover;
			-o-background-size: cover;	
	background-size: cover;	
	text-align: center;
	color: #fff; 
}

header .intro-text {
	padding-top: 100px;
	padding-bottom: 50px;
}

header .intro-text .intro-lead-in {
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	font-size: 22px;
	line-height: 22px;
	margin-bottom: 25px;
}

header .intro-text .intro-heading {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 50px;
	font-weight: 700;
	text-transform: uppercase;	
	line-height: 50px;
	margin-bottom: 25px;
}

@media (min-width:768px) {	
header .intro-text {
	padding-top: 300px;
	padding-bottom: 200px;
}

header .intro-text .intro-lead-in {
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 40px;
	font-style: italic;	
	line-height: 40px;
	margin-bottom: 25px;
}

header .intro-text .intro-heading {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 55px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 75px;
	margin-bottom: 50px;
	}
}

/********** Btn du header **********/
.btn-primary {
	background-color: #fed136;
	border-color: #fed136;
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 700;
	color: #fff;	
	text-transform: uppercase;	
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
	background-color: #fec503;
	border-color: #f6bf01;
	color: #fff;	
}

.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
	background-image: none;
}

.btn-primary.disabled, .btn-primary[disabled],fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
	background-color: #fed136;
	border-color: #fed136;
}

/********** Section (mise en forme des sections) **********/
section {
	padding: 100px 0;
}

section h1.page-header {
	font-size: 30px;
	margin-top: 0;
	margin-bottom: 15px;
}

section h2.section-heading {
	font-size: 40px;
	margin-top: 0;
	margin-bottom: 15px;
}

section h3.section-subheading {
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;	
	font-size: 20px;
	font-style: italic;
	font-weight: 400;	
	text-transform: none;	
	margin-bottom: 75px;
}

@media (min-width:768px) {
section {
	padding: 150px 0;
	}	
}

/********** Section (du portfolio) **********/
#portfolio .portfolio-item {
	margin: 0 0 15px;
	right: 0;
}

#portfolio .portfolio-item .portfolio-link {
	display: block;
	position: relative;
	max-width: 400px;
	margin: 0 auto;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover {
	position: absolute;	
	background: rgba(254,209,54,.9);	
	width: 100%;
	height: 100%;
	opacity: 0; 
	-webkit-transition:all ease .5s;
		-moz-transition:all ease .5s;
	transition:all ease .5s;	
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover {
	opacity: 1;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content {
	position: absolute;
	width: 100%;
	height: 20px;
	font-size: 20px;
	text-align: center;
	color: #fff; 
	top: 50%;
	margin-top: -12px;	
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i {
	margin-top: -12px;
}

#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3,
#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4 {
	margin: 0;
}

#portfolio .portfolio-item .portfolio-caption {
	background-color: #fff;
	max-width: 400px;
	text-align: center;
	margin: 0 auto;	
	padding: 25px;
}

#portfolio .portfolio-item .portfolio-caption h4 {
	text-transform: none;
	margin: 0;
}

#portfolio .portfolio-item .portfolio-caption p {
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 80px;
	font-style: italic;
	margin: 0;
}

#portfolio * {
	z-index: 2;
}

@media (min-width:767px) {
#portfolio .portfolio-item {
	margin: 0 0 30px;
	}
}

/********** Section (Modal du portfolio) **********/
.portfolio-modal .modal-content {
	background-clip: border-box;
	border-radius: 0;
	border: 0;	
	-webkit-box-shadow: none;
	box-shadow: none;
	text-align: center;
	min-height: 100%;
	padding: 100px 0;	
}

.portfolio-modal .modal-content h2 {
	font-size: 2.50em;
	margin-bottom: 15px;	
}

.portfolio-modal .modal-content p {
	text-align: justify;
	margin-bottom: 30px;
}

.portfolio-modal .modal-content .p {
	text-align: center;
	margin-bottom: 30px;
}

.portfolio-modal .modal-content ul {
	text-align: justify;
	margin-bottom: 30px;
}

.portfolio-modal .modal-content p.item-intro {
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 24px;
	font-style: italic;
	text-align: center;
	color: #fed136;	
	margin: 20px 0 30px;
}

.portfolio-modal .modal-content ul.list-inline {	
	margin-top: 0;
	margin-bottom: 30px;	
}

.portfolio-modal .modal-content img {
	border: 2px solid #111; 
	margin-bottom: 30px;
}

.portfolio-modal .close-modal {
	position: absolute;
	background-color: transparent;	
	width: 75px;
	height: 75px;	
	top: 25px;
	right: 25px;
	cursor: pointer;
}

.portfolio-modal .close-modal:hover {
	opacity: .3;
}

.portfolio-modal .close-modal .lr {
	background-color: #222;	
	height: 75px;
	width: 1px;
	-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
	transform: rotate(45deg);	
	margin-left: 35px;	
	z-index: 1051;
}

.portfolio-modal .close-modal .lr .rl {
	background-color: #222; 
	height: 75px;
	width: 1px;
	-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
	transform: rotate(90deg);	
	z-index: 1052;
}

.portfolio-modal .modal-backdrop {
	display: none;
	opacity: 0;	
}

/********** Section (image et son du modal) **********/
figure {
	border: 0px #ccc solid;
	margin: auto;
	padding: 4px;
}

figcaption {
	background-color: #000;
	font-style: italic;
	font-size: 14px;	
	color: #fff;
	text-align: center; 
	padding: 8px;	
}

.photo {
	flex-wrap: wrap;
		display: -ms-flexbox; /* IE10 */
			display: flex;
	-ms-flex-wrap: wrap; /* IE10 */
	padding: 0 4px;
}

.btn-sm {
	color: #111;
}

/* Create four equal columns that sits next to each other */
.column {	
	flex: 25%;	
	-ms-flex: 25%; /* IE10 */	
	max-width: 25%;
	padding: 0 4px;
}

.column img {
	width: 100%;
	vertical-align: middle;
	margin-top: 8px;	
}

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 800px) {
  .column {
		flex: 50%;  
		-ms-flex: 50%;
		max-width: 50%;
	}
}


/********** Section Timeline **********/
.timeline {
	position: relative;
	list-style: none;
	padding: 0;	
}

.timeline:before {
	position: absolute;
	background-color: #f1f1f1; /* f1f1f1 */
	width: 2px;
	top: 0;
	bottom: 0;
	left: 40px;
	margin-left: -1.5px;	
	content: "";
}

.timeline>li {
	position: relative;
	min-height: 50px;
	margin-bottom: 50px;	
}

.timeline>li:before,.timeline>li:after {
	display: table;
	content: " ";	
}

.timeline>li:after {
	clear: both;
}

.timeline>li .timeline-panel {
	position: relative;
	float: right;
	width: 100%;
	text-align: left;
	padding: 0 20px 0 100px;	
}

.timeline>li .timeline-panel:before {
	border-left-width: 0;
	border-right-width: 15px;
	right: auto;
	left: -15px;	
}

.timeline>li .timeline-panel:after {
	border-right-width: 14px;
	border-left-width: 0;
	right: auto;
	left: -14px;
}	

.timeline>li .timeline-image {
	position: absolute;
	background-color: #fed136;
	border-radius: 100%;
	border: 7px solid #f1f1f1;
	width: 80px;
	height: 80px;
	text-align: center;	
	color: #fff;	
	left: 0;
	margin-left: 0;	
	z-index: 100;	
}

.timeline>li .timeline-image-collapse {
	position: absolute;
	background-color: transparent;
	border-radius: 100%;
	border: 0px solid transparent;
	width: 80px;
	height: 80px;
	text-align: center;
	color: #000;
	left: 0;
	margin-left: 0;
	z-index: 101;
}

.timeline>li .timeline-image h4 {
	font-size: 10px;
	line-height: 14px;
	margin-top: 12px;	
}

.timeline>li.timeline-inverted>.timeline-panel {
	float: right;
	text-align: left;
	padding: 0 20px 0 100px;
}

.timeline>li.timeline-inverted>.timeline-panel:before {
	border-right-width: 15px;
	border-left-width: 0;
	right: auto;
	left: -15px;	
}

.timeline>li.timeline-inverted>.timeline-panel:after {
	border-right-width: 14px;
	border-left-width: 0;
	right: auto;
	left: -14px;	
}

.timeline>li:last-child {
	margin-bottom: 0;
}

.timeline .timeline-heading h4 {
	color: inherit;
	margin-top: 0;	
}

.timeline .timeline-heading h4.subheading {
	text-transform: none;
}

.timeline .timeline-body>p, .timeline .timeline-body>ul {
	text-align: justify;
	margin-bottom: 0;
}

@media (min-width:768px) {
	.timeline:before {
		left: 50%;
}

	.timeline>li {
		min-height: 100px;
		margin-bottom: 100px;		
}

	.timeline>li .timeline-panel {
		float: left;
		width: 41%;
		text-align: right;
		padding: 0 20px 20px 30px;
}

	.timeline>li .timeline-image {
		width: 100px;
		height: 100px;
		left: 50%;
		margin-left: -50px;
}

	.timeline>li .timeline-image h4 {
		font-size: 13px;
		line-height: 18px;
		margin-top: 16px;		
}

	.timeline>li.timeline-inverted>.timeline-panel {
		float: right;
		text-align: left;
		padding: 0 30px 20px 20px;
	}
}

@media (min-width:992px) {
	.timeline>li {
		min-height: 150px;
}

	.timeline>li .timeline-panel {
		padding: 0 20px 20px;
}

	.timeline>li .timeline-image {
		width: 150px;
		height: 150px;
		margin-left: -75px;
}

	.timeline>li .timeline-image h4 {
		font-size: 18px;
		line-height: 26px;
		margin-top: 30px;		
}

	.timeline>li.timeline-inverted>.timeline-panel {
		padding: 0 20px 20px;
	}
}

@media (min-width:1200px){
	.timeline>li {
		min-height: 170px;
}

	.timeline>li .timeline-panel {
		padding: 0 20px 20px 100px;
}

	.timeline>li .timeline-image {
		width: 170px;
		height: 170px;
		margin-left: -85px;
}

	.timeline>li .timeline-image h4 {
		margin-top: 40px;
}

	.timeline>li.timeline-inverted>.timeline-panel {
		padding: 0 100px 20px 20px;
	}
}


/********** Section (collapsible) du Timeline **********/
.collapsible {
	/*position: absolute;*/
	display: block;
	background-color: #fed136;
	border-radius: 100%;
	border: 7px solid #f1f1f1; 
	width: 135px;
	height: 135px;
	font-family: Montserrat, "Helvetica Neue", Helvetica,Arial, sans-serif;
	font-size: 22px;
	text-align: center;	
	color: #fff;		
	margin: auto;  
	z-index: 100;	
}

.collapsible .fas {
	color: #000;	
}

.content {
	display: none;	
	background-color: tranparent;	
	width: 70%;
	text-align: center;		
	margin: auto;
	padding-top: 105px;		
	padding-bottom: 20px;		
	overflow: hidden;
}

.active, .collapsible:hover { 
	border: none;
	outline: none;  
}

button:focus {
	outline: 0;
}

/********** Section zones d'observation **********/
.zones {
	text-align: center;	
	margin-bottom: 50px;	
}

.zones img {
	border: 5px solid #fed136;
	margin: 0 auto;	
}

.zones h4 {
	text-transform: none;
	margin-top: 25px;
	margin-bottom: 0;	
}

.zones p {
	margin-top:0;
}

aside.logos img {
	margin: 50px auto;	 
}

aside.logos img:hover {
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);	
		-moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.zoom img {	
	width: 175px;
	height: 175px;		
}

.zoom:hover {
	-webkit-transform: scale(2.0); /* Safari 3-8 */
		-ms-transform: scale(2.0); /* IE 9 */
	transform: scale(2.0);
	-webkit-transition: .3s ease-in-out;
		-ms-transform: .3s ease-in-out;
	transition: .3s ease-in-out;  	
}


/********** Section formulaire de contact **********/
section#contact {
	background-color: #222;
	background-image: url("../images/pages/map-image.png");
	background-position:center;
	background-repeat:no-repeat;
}

section#contact .section-heading, section#contact .section-subheading {
	color: #e6e6e6;
}

section#contact .form-group {
	margin-bottom: 25px;
}

section#contact .form-group input,
section#contact .form-group textarea {
	padding: 20px;
}

section#contact .form-group input.form-control {
	height: auto;
}

section#contact .form-group textarea.form-control {
	height: 236px;
}

section#contact .form-control:focus {
	border-color: #fed136;
	box-shadow: none;
}

section#contact ::-webkit-input-placeholder {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	color: #e6e6e6;
}

section#contact :-moz-placeholder {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	color: #e6e6e6;
}

section#contact ::-moz-placeholder {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	color: #e6e6e6;
}

section#contact :-ms-input-placeholder{
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	color: #e6e6e6;
}

section#contact .text-danger {
	color: #e74c3c;
}

section#contact .text-danger ul {
	 list-style-type: square;
}


/********** Section footer **********/
footer {
	text-align: center;
	padding: 25px 0;	
}

footer h4 {
	font-size: 15px;
	color: #fed136;
	text-align: center;
	padding: 0;
}

footer .modal-title {
	font-size: 15px;
	color: #000;	
	text-align: center;
	padding: 0;
}

footer span.copyright {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	text-transform: none;
	line-height: 40px;	
}

footer ul.quicklinks {
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 15px;
	font-weight: bold;	
	text-transform: uppercase;
	text-transform: none;
	line-height: 40px;
	margin-bottom: 0;	
}

ul.social-buttons {
	margin-bottom: 0;
}

ul.social-buttons li a {
	display: block;
	background-color: #222;
	border-radius: 100%;
	height: 40px;
	width: 40px;	
	font-size: 20px;
	color: #fff;
	line-height: 40px;	
	outline:0;
	-webkit-transition:all .3s;
		-moz-transition:all .3s;
	transition:all .3s;
}

ul.social-buttons li a:hover, ul.social-buttons li a:focus, ul.social-buttons li a:active {
	background-color: #fed136;
}

.btn-sm {
	background-color: #222;
	border: #e6e6e6;
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #fff;
	-webkit-transition:all .3s;
		-moz-transition:all .3s;
	transition:all .3s;	
}

.btn-sm:hover {
	background-color: #fed136;
	color: #fff;
}

.btn:focus, .btn:active, .btn.active, .btn:active:focus {
	outline: 0;
}








