body {
	font-family: 'IBM Plex Sans', sans-serif;
	width:       100%;
	margin:      0;
	padding:     0;
	color:       black;
	}

@media screen and (min-device-width: 320px) and (max-width: 568px) {
	
	html, body {
		width: 100vw;
		overflow-x: hidden;
		}
	
	}

/* STRUCTURE
***********************************************************************************************************************************/
#content {
	min-height: 70vh;
	}

#wrapper {
	min-height:    70vh;
	margin-bottom: 5vh;
	}

.container.large {
	width:         95vw;
	max-width:     95vw;
	padding-left:  0;
	padding-right: 0;
	}

.row {
	justify-content: space-evenly;
	}

.row.accueil {
	min-height: 70vh;
	}

.row > div {
	flex-grow:   0;
	flex-shrink: 0;
	margin:      0 auto;
	}

.col {
	/*border:1px dotted red*/
	}

.col.one {
	flex: 0 0 25%
	}

.col.two {
	flex: 0 0 50%
	}

.col.three {
	flex: 0 0 75%
	}


@media screen and (min-device-width: 320px) and (max-width: 568px) {
	
	.col.one, .col.two, .col.three {
		width:     90vw;
		min-width: 90vw;
		}
	
	.col.one.couverture {
		margin: 0 auto;
		}
		
	}


/* EN-TÊTE
***********************************************************************************************************************************/
#header {
	margin-bottom: 5vh;
	}

.col.header {
	display:         flex;
	flex-direction:  column;
	justify-content: flex-end;
	}

.col.header .gutter {
	
	border-bottom:   4px solid black;
	padding:         4vh 0 0;
	height:          100%;
	display:         flex;
	flex-direction:  column;
	justify-content: flex-end;
	}

.col.header .gutter.menu {
	text-align: right;
	font-size:  2vw;
	
	}

.col.header .gutter.brdcrmb {
	text-align: left;
	font-size:  2vw;
	/*color:      rgba(255, 255, 255, .5)*/
	color:      black
	}

#accueil .col.header .gutter {
	text-align: center;
	}

.gutter.agenda {
	display:         flex;
	flex-direction:  column;
	justify-content: flex-start;
	height:          100%;
	}

.gutter.agenda .item {
	margin-bottom: 2em;
	}

#logo {
	width:               100%;
	min-height:          120px;
	display:             block;
	background:          url(../img/logo-blanc.png) no-repeat;
	background-size:     contain;
	background-position: left bottom;
	text-indent:         -9999px;
	}

#logo:hover {
	background:          url(../img/wording-blanc.png) no-repeat;
	background-size:     contain;
	background-position: left bottom;
	}

#accueil #logo {
	background:          url(../img/logo-wording-blanc.png) no-repeat;
	background-size:     contain;
	background-position: left bottom;
	}

@media screen and (min-device-width: 320px) and (max-width: 568px) {
	
	#logo, #logo:hover {
		width:               80vw;
		height:              65px;
		min-height:          65px;
		
		background:          url(../img/logo-wording-blanc.png) no-repeat;
		background-position: left center;
		background-size:     contain;
		}
	
	
	.col.header .gutter {
		padding: 0;
		}
	
	.col.header .gutter.brdcrmb, .col.header .gutter.menu {
		display: none;
		}
	
	#btn-mobile-menu {
		display:   block;
		position:  absolute;
		font-size: 6vw;
		padding:   .5em;
		margin:    0;
		width:     10vw;
		top:       12px;
		right:     8vw;
		z-index:   900000;
		display:   block;
		}
	
	#btn-mobile-menu:before {
		content:     "\f0c9";
		font-family: "Font Awesome 5\ Free";
		font-weight: 900;
		color:       white;
		}
	
	.nav-on #btn-mobile-menu:before {
		
		content:     "\f00d";
		font-family: "Font Awesome 5\ Free";
		font-weight: 900;
		color:       white;
		}
		
	}

/* NAVIGATION
***********************************************************************************************************************************/
#accueil #btn-menu {
	display: none;
	
	}

/*#accueil .brdcrmb span{*/
/*	display: none;*/
/*	}*/

#btn-menu {
	align-self: flex-end;
	color:      white;
	cursor:     pointer;
	}

#accueil #m-accueil {
	display: none;
	}

#accueil #m-chercher {
	border-top: 0;
	}

nav {
	position:   absolute;
	right:      calc(2.5vw - 7.5px);
	top:        calc(120px + 4vh);
	background: black;
	z-index:    1000;
	width:      22vw;
	display:    none;
	}

#accueil:not(.mobile) nav {
	display:    block;
	background: transparent;
	}

.nav-on nav {
	display: block;
	}

.nav-on #btn-menu {
	color:      white;
	background: black;
	width:      auto;
	}

.nav-on #wrapper {
	filter:     blur(5px);
	transition: .5s filter ease;
	}

nav .nav ul {
	padding: 2vw;
	}

.nav ul {
	list-style: none;
	padding:    0;
	/*width:      19vw;*/
	/*font-family: 'IBM Plex Sans Condensed', sans-serif;*/
	}

.nav ul.subnav {
	padding: 0;
	}

.nav a {
	color:       white;
	font-size:   1.5vw;
	font-weight: 500;
	transition:  .5s background-color ease;
	}

.nav a.selected {
	font-weight: 900;
	border-bottom: 2px solid white;
	}

.nav a:hover {
	text-decoration: none;
	background:      rgba(255, 255, 255, .4);
	}

.nav li a.sub {
	font-size:   1vw;
	align-self:  flex-end;
	font-weight: 200;
	}

.nav li {
	display:         flex;
	justify-content: space-between;
	padding:         .5em 0;
	}

.nav li.brd {
	border-top: 1px white solid;
	
	}

#search-bar {
	display: flex;
	}

#search {
	background: transparent;
	border:     0;
	color:      white;
	font-size:  1.5vw;
	width:      calc(100% - 2em);
	padding: 0;
	}

#search:focus {
	border: 0;
	}

#search.show {
	background: rgba(255, 255, 255, .4);
	transition: background ease .7s;
	}

#b-search {
	width:      2em;
	transition: opacity ease .7s;
	background: transparent;
	color:      white;
	border:     0;
	text-align: right;
	cursor:     pointer;
	}

#b-search.hide {
	opacity: 0;
	}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color:   white;
	opacity: 1; /* Firefox */
	}

nput:focus,
select:focus,
textarea:focus,
button:focus {
	outline: none;
	}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: white;
	}

::-ms-input-placeholder { /* Microsoft Edge */
	color: white;
	}

@media screen and (min-device-width: 320px) and (max-width: 568px) {
	.nav-on {
		overflow: hidden;
		}
	
	nav {
		top:    0;
		left:   0;
		width:  100vw;
		height: 100vh;
		}
	
	#accueil
	#accueil:not(.nav-on) nav {
		display: none;
		}
	
	#accueil.nav-on nav {
		background: black;
		}
	
	.nav {
		flex-wrap: wrap;
		}
	
	.nav a {
		font-size: 18px;
		}
	
	.nav>ul {
		margin: 8vh auto 10vh;
		width:  85vw;

		}
	
	.nav li {
		padding: .3em 0;
		}
	
	#search {
		font-size: 18px;
		}
	
	/* SOUS-NAVIGATION
******************************************************************************************************************/
	.nav ul.subnav {
		overflow-x:                 scroll;
		overflow-style:             marquee-block;
		-webkit-overflow-scrolling: touch;
		overflow-y:                 hidden;
		font-size:                  100%;
		padding:                    .2em 0 .2em;
		margin:                     0 0 2em 0;
		/*position:                   relative;*/
		border-top:                 1px solid black;
		border-bottom:              1px solid black;
		display: flex;
		
		}
	
	::-webkit-scrollbar {
		width:      0px; /* remove scrollbar space */
		background: transparent; /* optional: just make scrollbar invisible */
		}
	
	
	.nav ul.subnav li {
		display:       inline;
		padding:       0 1em 0 0;
		border-bottom: 0;
		
		}
	
	.nav ul.subnav li a {
		display: inline-block;
		white-space: nowrap;
		}
	
	::-webkit-scrollbar {
		display: none;
		}

		
		
	}

.nav li a.sub {
	font-size: 16px;
		
	}

/*ACCUEIL
***********************************************************************************************************************************/
#accueil {
	background: #BD3734;
	}

.item {
	color: white;
	}

#accueil .item {
	
	transition: .7s background-color ease;
	background: rgba(255, 255, 255, .1);
	
	}

a.item:hover {
	text-decoration: none;
	color:           white;
	background:      rgba(255, 255, 255, .1);
	}

#accueil .item {
	
	}

#accueil .item .title {
	font-size:   1.5vw;
	font-weight: 900;
	line-height: 1.2em;
	}

#accueil .cahier {
	text-align:     center;
	text-transform: uppercase;
	}

/*MEMBRES
***********************************************************************************************************************************/


.member.item {
	display:       flex;
	margin-bottom: 2em;
	}

.initial {
	width:     22.5vw;
	padding:   0 1vw;
	font-size: 6vw;
	color:     white
	}

.picture {
	width: 10.5vw;
	}

.photo {
	display:    block;
	width:      7vw;
	height:     7vw;
	background: rgba(0, 0, 0, .2);
	margin:     0vw 0 1vw 0;
	filter:     grayscale(1);
	}

em.credit_photo {
	display:    block;
	width:      100%;
	font-size:  70%;
	text-align: right;
	margin:     0 0 .5em 0;
	}

.item .detail {
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	}

h3 {
	font-size:      2vw;
	font-weight:    900;
	color:          white;
	text-transform: uppercase;
	}

h4 {
	font-size:   1.2vw;
	font-weight: 500;
	color:       white;
	}

h5 {
	font-size:   1.2vw;
	font-weight: 100;
	color:       white;
	}

.categories {
	margin-bottom: 2em;
	}

.categories a {
	color:           white;
	text-decoration: underline;
	}

#filtre-membres a {
	color:white;
	border-radius: 4px;
	margin-right: 5px;
	padding: .2em .5em;
}
#filtre-membres a.selected {
	background: white;
	color: #6194BD;
}


@media screen and (min-device-width: 320px) and (max-width: 568px) {
	
	h3 {
		font-size: 24px;
		}
	
	h4 {
		font-size: 16px;
		}
	
	.initial {
		width:   100%;
		padding: 0 0 1em 0;
		
		}
	
	.picture {
		display: none;
		}
	
	.member.item {
		flex-wrap: wrap;
		margin:    0 0 2em 0;
		}
	
	.initial.annee {
		border-bottom: 1px solid white;
		padding: 1em 0 0 0;
		opacity: .5;
		}

	#filtre-membres  {
		display: flex;
		justify-content: center;
		font-size: 12px;
		margin: -2em 0 1em;
	}

	#filtre-membres  a {
		margin: 0 10px;
	}
	
	}

#nav-lettres {
	display:         flex;
	flex-direction:  row;
	justify-content: space-between;
	margin:          0 0 2em 0;
	color:           rgba(0, 0, 0, .3);
	font-weight:     100;
	}

#nav-lettres a {
	color:       white;
	font-weight: 700;
	}

@media screen and (min-device-width: 320px) and (max-width: 568px) {
	#nav-lettres {
		position:       fixed;
		top:            12vh;
		width:          1em;
		height:         70vh;
		right:          5px;
		display:        flex;
		flex-direction: column;
		flex-wrap:      nowrap;
		font-size: 1.6vh;
		}
	
	#nav-lettres  div {
		padding: .1em 0;
		}
	}

/*A PROPOS
***********************************************************************************************************************************/

/* TYPO
***********************************************************************************************************************************/
.texte {
	font-family: 'IBM Plex Serif', serif;
	font-weight: 500;
	font-size:   1.2em;
	line-height: 1.7em;
	}

/*.texte a {*/
/*	color:black;*/
/*	border-bottom: rgba(0,0,0,.5) dotted 1px;*/
/*	margin: 0 0 1em 0;*/
/*	}*/


/*.texte a:hover {*/
/*	text-decoration: none;*/
/*	border-bottom: rgba(0,0,0,1) solid 1px;*/

/*	}*/

.texte a {
	color:         white;
	border-bottom: rgba(255, 255, 255, .5) dotted 1px;
	}

.texte a:hover {
	color:           white;
	border-bottom:   rgba(255, 255, 255, 1) solid 1px;
	text-decoration: none;
	}

.content h4, .content h4 a {
	color:         white;
	margin-bottom: 2em;
	}

.content h6 {
	text-transform: uppercase;
	margin:         3em 0 0em 0;
	color:          white;
	}

.download, .download:hover {
	color:       white;
	font-weight: 900;
	}


.morecontent span {
	display: none;
	}

.morelink {
	display: block;
	}

.texte a.plus {
	background:    rgba(255, 255, 255, .5);
	border-radius: 4px;
	font-family:   'IBM Plex Sans', sans-serif;
	font-size:     60%;
	display:       inline-block;
	border:        0;
	padding:       .1em .5em;
	line-height:   2em;
	color:         black;
	font-weight:   900;
	}

.texte a.plus:hover {
	background: white;
	border:     0;
	}

/* ITEMS
***********************************************************************************************************************************/
a.item {
	cursor: pointer;
	}

div.item {
	opacity: .5;
	}


/* AGENDA
***********************************************************************************************************************************/
.item.event {
	padding: 2.5rem .5em;
	}

#activites .event.item {
	display: flex;
	}

.event.item.grid {
	display: flex;
	}

.event.item.grid div {
	padding: 0 1em 0 0;
	}

.date:not(.full):not(.input-group) {
	text-transform:  uppercase;
	font-weight:     900;
	font-size:       3vw;
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	color:           white;
	line-height:     1em;
	
	}

.heure {
	text-transform: uppercase;
	font-weight:    900;
	font-size:      5vw;
	text-align:     match-parent;
	color:          white
	}

#activites .item.event .date {
	width:     22.5vw;
	min-width: 22.5vw;
	padding:   0 0vw;
	margin:    0 1vw 0 0;
	}

#activites .item .detail {
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	text-align:      left;
	}

.infos {
	margin:      3em 0 1em;
	color:       white;
	font-family: 'IBM Plex Sans', sans-serif;
	}

.infos a, .infos a:hover {
	color:  white;
	border: 0
	}

@media screen and (min-device-width: 320px) and (max-width: 568px) {
	
	.event.item h5 {
		font-size: 18px;
		}
	
	.event.item .date {
		font-size: 36px;
		}
	
	.event.item .title, #accueil .item .title {
		font-size: 24px;
		}
	
	.detail h5 {
		font-size: 24px;
		}
	
	.detail .date {
		font-size: 36px;
		margin:    1em 0 .2em;
		}
	
	.detail .heure {
		margin-bottom: 1em;
		}
	
	.grid.event.item {
		flex-direction: column;
		}
	
	#activites .item.event .date {
		width:     100%;
		min-width: 100%;
		}
	}

/* CAHIERS
***********************************************************************************************************************************/
#couvertures {
	display:   flex;
	/*justify-content: flex-start;*/
	/*align-content: flex-start;*/
	flex-wrap: wrap;
	margin:    0 -15px;
	}

.couverture {
	flex:            1 1 25%;
	padding:         0px 15px 45px;
	margin-bottom:   45px;
	text-decoration: none;
	text-align:      center;
	text-transform:  uppercase;
	}

.couverture:hover a {
	text-decoration: none;
	}

.couverture img {
	box-shadow: 0 10px 20px rgba(0, 0, 0, .2);
	transition: transform .5s ease;
	width:      100%;
	}

.couverture img:hover {
	transform: scale(1.1, 1.1);
	}

/* RECHERCHE
***********************************************************************************************************************************/
.search.item {
	/*margin: 0 -15px;*/
	margin:  0 0 3vh 0;
	display: flex;
	}

.search.item .col1 {
	width:        20vw;
	margin-right: 3vw;
	}

.search.item .col2 {
	width:           100% s;
	display:         flex;
	flex-direction:  column;
	justify-content: center;
	}


/* PAGINATION
************************************************************************************************************************/

#pagination {
	text-align: center;
	margin-top: 1em;
	width:      100%;
	float:      left;
	}

#pagination li {
	
	width:       1.3em;
	color:       white;
	font-weight: 900;
	display:     inline;
	margin:      2px;
	color:       #333;
	}

#pagination li span, #pagination li a {
	padding:         2px 8px;
	font-weight:     500;
	border-radius:   4px;
	text-decoration: none;
	}

#pagination li span {
	font-weight: 900;
	background:  white;
	color:       black;
	}

#pagination li a {
	
	color:      white;
	background: silver;
	}

/* PIED DE PAGE
***********************************************************************************************************************************/
#footer {
	color:      white;
	min-height: 20vh;
	border-top: 4px solid black;
		
	}

#footer .col {
	
	}

#footer a {
	color: white;
	}

#footer .gutter {
	padding: 1rem 0;
	}

#footer .col.right {
	display:         flex;
	flex-direction:  column;
	justify-content: flex-end;
	}

#footer .label {
	margin: 4em 0 0 ;
}

#footer .logo {
	width: 10vw;
	margin: 2vw 2vw 0 0;
}

#credits {
	font-size: 1vw;
	color:     rgba(255, 255, 255, .5)
	}

#credits a {
	color: rgba(255, 255, 255, .5)
	}


@media screen and (min-device-width: 320px) and (max-width: 568px) {
	#credits {
		font-size:  10px;
		text-align: right;
		}

	#footer .logo {
		width: 40vw;
		margin: 2vw 2vw 0 0;

	}
	}