/* Global */
html {
	overflow-y: scroll;
	overflow-x: hidden;
	/* Prevent scroll on narrow devices */
	position: relative;
	min-height: 100%;
}
main {
	min-height: 1800px;
}
.container {
	position: relative;
	margin: 0 auto;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

/* Filtres */
#filters {
	margin: 1%;
	padding: 0;
	list-style: none;
}
#filters li {
	float: left;
}
#filters li span {
	display: block;
	padding: 5px 20px;
	text-decoration: none;
	color: #666;
	cursor: pointer;
}
#filters li span.active {
	background: #e95a44;
	color: #fff;
}

/* Portfolio */
#portfoliolist .portfolio {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	display: none;
	float: left;
	overflow: hidden;
}
.portfolio-wrapper {
	overflow: hidden;
	position: relative !important;
	cursor: pointer;
}
.portfolio img {
	max-width: 100%;
	position: relative;
	top: 0;
	-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.portfolio .label {
	position: absolute;
	width: 100%;
	height: 40px;
	bottom: -40px;
	-webkit-transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.portfolio .label-bg {
	background: #e95a44;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.portfolio .label-text {
	color: #fff;
	position: relative;
	z-index: 500;
	padding: 5px 8px;
}
.portfolio .text-category {
	display: block;
	font-size: 9px;
}
.portfolio:hover .label {
	bottom: 0;
}
.portfolio:hover img {
	top: -30px;
}

/* -- RESPONSIVE CSS -- */
/* #Tablet (Portrait) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	.container {
		width: 768px;
	}
}

/*  #Mobile (Portrait) - Note: Design pour une largeur de 320px */
@media only screen and (max-width: 767px) {
	.container {
		width: 95%;
	}
	#portfoliolist .portfolio {
		width: 48%;
		margin: 1%;
	}
}

/* #Mobile (Landscape) - Note: Design for une largeur de 480px */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	.container {
		width: 70%;
	}
}

/* Global Header */
.separation {
	color: white;
}
.logotitle {
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
	font-weight: 500;
	color: white;
	border: 1px solid white;
	background-color: black;
	padding: 2px 5px 2px 5px;
}
.logotitle a:hover, .logotitle a:active, .logotitle a {
	color: white;
	text-decoration: none;
}

/* Sub-menu */
@media (max-width: 991.98px) {
	.offcanvas-collapse {
		position: fixed;
		top: 56px;
		/* Height of navbar */
		bottom: 0;
		left: 100%;
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
		overflow-y: auto;
		visibility: hidden;
		background-color: #343a40;
		transition-timing-function: ease-in-out;
		transition-duration: .3s;
		transition-property: left, visibility;
	}
	.offcanvas-collapse.open {
		left: 0;
		visibility: visible;
	}
}
.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}
.nav-scroller .nav {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	color: rgba(255, 255, 255, .75);
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
.nav-underline .nav-link {
	padding-top: .75rem;
	padding-bottom: .75rem;
	font-size: .875rem;
	color: #6c757d;
}
.nav-underline .nav-link:hover {
	color: #007bff;
}
.nav-underline .active {
	font-weight: 500;
	color: #343a40;
}
.text-white-50 {
	color: rgba(255, 255, 255, .5);
}
.bg-purple {
	background-color: #6f42c1;
}
.lh-100 {
	line-height: 1;
}
.lh-125 {
	line-height: 1.25;
}
.lh-150 {
	line-height: 1.5;
}

/* Jumbotron */
:root {
	--jumbotron-padding-y: 2rem;
}
.jumbotron {
	padding-top: var(--jumbotron-padding-y);
	padding-bottom: var(--jumbotron-padding-y);
	margin-bottom: 0;
	background-color: #CCCCCC;
}
@media (min-width: 768px) {
	.jumbotron {
		padding-top: calc(var(--jumbotron-padding-y) * 2);
		padding-bottom: calc(var(--jumbotron-padding-y) * 2);
	}
}
.jumbotron p:last-child {
	margin-bottom: 0;
}
.jumbotron-heading {
	font-weight: 300;
}
.jumbotron .container {
	max-width: 40rem;
}

/* Footer */
.footer {
	bottom: 0;
	width: 100%;
	height: 150px;
	/* Set the fixed height of the footer here */
	line-height: 150px;
	background-color: #EEEEEE
}
.buttontop {
	float: right;
}
