@charset "UTF-8";
/*@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900);*/
@import url('https://fonts.googleapis.com/css?family=Raleway:300,400,500,700,900&display=swap');


* {
	/*margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	list-style: none;
	font-family: 'Catamaran', sans-serif;
	font-weight: 300;
	color: #5e5e5e;
	text-decoration: none;*/
	font-size: 15px;
	font-family: 'Raleway', sans-serif;
}

html {
	height: 100%;
}

body {
	margin: 0;
	height: 100%;
}

body::before {
    content: "";
    width: 0;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: auto;
	display: block;
	height: 100%;
	width: 300px;
	z-index: 30;
	background-image: url("../images/fond-menu.jpg");
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

header .inner {
	padding: 40px 0 0;
	margin: 0 40px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

header #logoblock {
	padding: 0 0 20px;
}

header #logoblock .logo-image {
	text-align: center;
	padding-bottom: 4px;
}

header #logoblock .logo-image a {
	display: block;
	width: 208px;
	margin: auto;
}

header #logoblock img {
	display: block;
	width: 100%;
	height: auto;
}

header #logoblock .logo-text {
	display: block;
	text-align: center;
	font-weight: 300;
}

header #logoblock .logo-text span {
	font-size: 1.875rem;
	line-height: 1.4;
	padding: .3125rem .25rem .25rem;
	color: #fff;
}


header .subclaim {
	text-align: center;
	display: block;
	clear: both;
}

header .subclaim span {
	font-size: 16px;
	font-weight: 400;
	display: block;
	padding: 10px 2px 2px;
	color: rgba(255, 255, 255, 0.7);
	word-spacing: 1px;
	letter-spacing: 1px;
	line-height: 1.5;
}




/* Menu */

header #menublock {
	width: 100%;
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	justify-content: center;
}

header #menublock nav {
	width: 100%
}

header #menublock ul {
	padding-left: 0;
}

header #menublock li {
	padding: .4375rem 0;
	position: relative;
	display: block;
	clear: both;
	text-align: center;
}

header #menublock li a {
	line-height: 18px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

header #menublock li a:hover,
header #menublock li a.active {
	color: rgba(255, 255, 255, 1);
}


#btn-burger,
#respnav {
	display: none;
}



/* Content */
.content {
	padding-left: 300px;
	box-sizing: border-box;
	width: 100%;
}

.wrapper {
	padding: 60px 170px;
}

body:not(#accueil) .content h1 {
	font-size: 38px;
	color: rgba(0,0,0, 0.7);
	padding-bottom: 12px;
	margin: 0 0 30px;
	text-transform: uppercase;
	position: relative;
}

body:not(#accueil) .content h1 span {
	font-size: 38px;
	color: rgba(0,0,0, 0.7);
	text-transform: uppercase;
	margin-top: -5px;
}

body:not(#accueil) .content h1::before {
	content: "";
	display: block;
	height: 0;
	border-bottom: solid 1px #2ea1b1;
	position: absolute;
	width: 10%;
	left: 0;
	bottom: 0;
}

body:not(#accueil) .content h2 {
	color: #555;
	font-size: 24px;
	margin: 0 0 10px;
	line-height: 1.25;
	font-weight: 500;
	padding-right: 18%;
}

body:not(#accueil) .content .blocs {
	margin-left: -20px;
	margin-right: -20px;
	font-size: 0;
}

body:not(#accueil) .content .left,
body:not(#accueil) .content .right {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
	padding: 0 20px;
}

body:not(#accueil) .content .left > img {
	padding-top: 6px;
}

.content ul {
	padding: 0;
}

.content li {
	list-style: none;
}

.content p,
.content li {
	color: #555;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 15px;
}

.content p strong {
	font-weight: 600;
}

.content p a,
.content label a {
    color: #2ea1b1;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: solid 1px rgba(46,161,177,.5);
    -webkit-transition: 200ms ease;
    -moz-transition: 200ms ease;
    -o-transition: 200ms ease;
    transition: 200ms ease;
}

.content p a:hover,
.content label a:hover {
	border-bottom: solid 1px rgba(46,161,177, 1);
}

.content img {
	max-width: 100%;
}

.content ul,
.content ol {
	padding-left: 0;
	display: flow-root;
}

/*.content li {
	padding-left: 15px;
	position: relative;
	list-style: none;
}

.content li::before {
	content: "\f0da";
	font-family: "FontAwesome";
	color: #2ea1b1;
	font-size: 18px;
	position: absolute;
	left: 0;
	top: -1px;
}*/

/* .content h3 {
	color: #511223;
	margin-bottom: 15px;
	margin-top: 0;
}

.content blockquote {
	color: #888;
	border-color: #ccc;
	padding: 0 20px;
	margin-top: 20px;
}

.content blockquote strong {
	font-weight: 400
	font-size: 17px;
	color: #888;
}*/




/*////////*/
/*        */
/*  Home  */
/*        */
/*////////*/

#accueil .content {
	position: absolute;
	top: 0;
	bottom: 0;
}

#accueil .content .wrapper {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 60px 50px;
	background-image: url("../images/groupement-associatif-gamme.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	position: absolute;
	top: 0;
	bottom: 0;
}

#accueil .content .wrapper::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.15);
}

#accueil .content .texte {
	display: inline-table;
	position: relative;
}

#accueil .content h1 {
	color: #fff;
	font-size: 32px;
	font-weight: 300;
	word-spacing: 3px;
	letter-spacing: -0.5px;
	display: table;
	padding: 12px 12px 8px;
	margin: 0 0 20px;
	background: rgba(0,157,224,.8);
}

#accueil .content p {
	color: #000;
	font-size: 20px;
	font-weight: 600;
	line-height: 60px;
	/*text-shadow: 0 .0625rem .3125rem rgba(0,0,0,.3);*/
}

#accueil footer {
	position: absolute;
	bottom: -56px;
}





/*/////////////*/
/*             */
/*  Objectifs  */
/*             */
/*/////////////*/

#objectifs .content {
	background: #f5f5f5;
}


#objectifs .content .left {
	width: 35%;
}

#objectifs .content .right {
	width: 65%;
}

#objectifs .content p {
	color: 666;
}





/*///////////*/
/*           */
/*  Membres  */
/*           */
/*///////////*/

#membres .content h1 span {
	font-size: 18px !important;
}

#membres .content .membres {
	border-bottom: solid 1px rgba(0,0,0,.15);
	padding-bottom: 50px;
	margin-bottom: 50px;
}

#membres .content .membres .membre {
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: 30px;
	font-size: 0;
}

#membres .content .membres .membre .logo,
#membres .content .membres .membre .details {
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
	padding: 0 20px;
}

#membres .content .membres .membre .logo {
	width: 12%;
}

#membres .content .membres .membre .logo img {
	max-height: 100px;
}

#membres .content .membres .membre .details {
	width: 88%;
}

#membres .content h2 {
	color: #666 !important;
	font-size: 15px !important;
	margin: 0 0 20px !important;
}

#membres .content h2 span {
	font-size: 20px !important;
	font-weight: 600;
}

#membres .content .mention strong {
	font-size: 20px !important;
	font-weight: 600;
}




/*///////////*/
/*           */
/*  Contact  */
/*           */
/*///////////*/

#contact .content .blocs {
	padding-top: 30px;
}

#contact .content .left,
#contact .content .right {
	width: 50%;
}

#contact .content .left p {
	margin-bottom: 20px;
}

#contact .content .left iframe {
	/*height: 274px;*/
	padding-top: 20px;
	max-width: 100%;
}


#contact .content .right form {
	padding-top: 10px;
}

#contact .content .right form .form-group,
#contact .content .right form .form-fat-group {
	padding: 10px 0;
	display: block;
	width: 100%;
}

#contact .content .right form label,
#contact .content .right form input {
	display: block;
	width: 100%;
}

#contact .content .right form label {
	color: #555;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
}

#contact .content .right form .form-group input,
#contact .content .right form .form-fat-group textarea {
	height: 42px;
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	line-height: 1.15;
	background: #fafafa;
	border: solid 1px #ccc;
	padding: 2px 10px 3px;
	box-sizing: border-box;
	border-radius: 0 0 3px 3px;
	color: rgba(0,0,0,.9);
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

#contact .content .right form .form-fat-group textarea {
	height: 150px;
}

#contact .content .right form input:focus,
#contact .content .right form textarea:focus {
	border-color: rgba(46,161,177,.8);
}

#contact .content .right form input[type="checkbox"] {
    width: auto;
    display: inline-block;
    float: left;
    margin: 6px 6px 0 0;
}

#contact .content .right form input[type="submit"] {
	cursor: pointer;
	display: inline-block;
	width: auto;
	padding: 10px 24px;
	line-height: 1.5;
	color: #fff;
	font-weight: 500;
	background: #2e2e2e;
	border: solid 1px #2e2e2e;
	border-radius: 5px;
	-webkit-appearance: none;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

#contact .content .right form input[type="submit"]:hover {
	border-color: #434343;
	background: #434343;
}





/*///////*/
/*       */
/*  404  */
/*       */
/*///////*/

#error .content h1 {
	text-transform: none !important;
}

#error .content {
	position: absolute;
	top: 0;
	bottom: 0;
}

#error .content .wrapper {
	position: absolute;
	top: 0;
	bottom: 0;
}

#error footer {
	position: absolute;
	bottom: -56px;
}




/*////////////////////////*/
/*                        */
/*  Données personnelles  */
/*  et mentions légales   */
/*                        */
/*////////////////////////*/

/*#mentions-legales .content,
#donnees-personnelles .content {
	position: absolute;
	top: 0;
	bottom: 0;
}

#mentions-legales .content .wrapper,
#donnees-personnelles .content .wrapper {
	position: absolute;
	top: 0;
	bottom: 0;
}

#mentions-legales footer,
#donnees-personnelles footer {
	position: absolute;
	bottom: -56px;
}*/





/* Footer */

footer {
	background: #4c4c4c;
	padding-left: 300px;
	width: 100%;
	box-sizing: border-box;
}

footer .wrapper {
	padding: 16px 30px;
}

footer p {
	color: #fff;
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
}

footer a {
	color: #bbb;
	text-decoration: none;
	border-bottom: solid 1px transparent;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

footer a:hover {
	border-bottom: solid 1px #bbb;
}







/* Cookies */
.cookiebanner {
	/*position: absolute !important;*/
	/*top: 0 !important;*/
	left: 300px !important;
	bottom: auto !important;
}

.cookiebanner p {
	margin: 0 0 6px !important;
}

/*.cookiebanner p a {
	color: #fff !important;
	font-weight: 500 !important;
	border-bottom: solid 1px transparent;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

.cookiebanner p a:hover {
	border-color: #fff;
}*/

.cookiebanner p a {
	text-decoration: none;
	color: rgb(255, 255, 255);
	font-weight: normal;
	float: none;
	padding: 5px 10px;
	cursor: pointer;
	display: table;
	margin: 8px auto 0;
	background: #ddd;
	color: #000 !important;
	font-weight: 500 !important;
	border-radius: 5px;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

.cookiebanner p a:hover {
	background: #fff;
}

.cookiebanner .cookiebanner-close {
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

.cookiebanner .cookiebanner-close:hover {
	background: rgb(180, 180, 180) !important;
}

/*#cadre_alert_cookies .btn {
	margin: 2px 15px !important;
	-webkit-transition:200ms ease;
	-moz-transition:200ms ease;
	-o-transition:200ms ease;
	transition:200ms ease;
}

#cadre_alert_cookies .btn:hover {
	background: #71384b !important;
}*/





/*//////////////////////////////////////*/
/*////                              ////*/
/*////         RESPONSIVE           ////*/
/*////                              ////*/
/*//////////////////////////////////////*/

@media screen and (max-height: 599px) {

	header .inner {
    	padding: 24px 0 0;
    }

	header #logoblock .logo-image a {
    	width: 96px;
	}

}


@media screen and (max-width: 1200px) {


	.wrapper {
	    padding: 60px 140px;
	}


	/* Blocs */
	body:not(#accueil) .content .left,
	body:not(#accueil) .content .right {
	    display: block;
	    width: 100%;
	}

	body:not(#accueil) .content .left {
		margin-bottom: 30px;
	}


	/* Membres */
	#membres .content .membres .membre .logo {
	    width: 20%;
	}

	#membres .content .membres .membre .details {
	    width: 80%;
	}


}


@media screen and (max-width: 992px) {

	body {
	    position: relative;
	}

	.wrapper {
	    padding: 122px 100px;
	}

	header {
		width: 100%;
		height: auto;
		bottom: auto;
	}

	header .inner {
		display: block;
		padding: 12px 34px;
		font-size: 0;
		margin: 0
	}

	header .subclaim,
	header #menublock {
		display: none;
	}

	header #logoblock {
		display: inline-block;
		padding-bottom: 0;
	}

	header #logoblock .logo {
		font-size: 0;
	}

	header #logoblock .logo-image,
	header #logoblock .logo-text {
		display: inline-block;
		vertical-align: middle;
		padding-bottom: 0
	}

	header #logoblock .logo-image a {
	    width: 76px;
	}

	header #logoblock .logo-text span {
		font-size: 22px;
		padding-left: 8px;
	}

	body.overlay::before {
	    width: 100%;
	}

	.content {
		padding-left: 0;
	}

	#btn-burger {
	    display: inline-block;
	    height: 38px;
	    width: 24px;
	    text-align: center;
	    vertical-align: middle;
	    line-height: 38px;
	    cursor: pointer;
	    float: right;
	}

	#btn-burger::before {
	    content: "\f0c9";
	    font-family: "FontAwesome";
	    color: #fff;
	    font-size: 24px;
		-webkit-transition:200ms ease;
		-moz-transition:200ms ease;
		-o-transition:200ms ease;
		transition:200ms ease;
	}

	#btn-close {
		display: inline-block;
	    height: 24px;
	    width: 24px;
	    text-align: center;
	    vertical-align: middle;
	    margin: 10px 0 25px;
	    line-height: 24px;
	    cursor: pointer;
	    float: right;
	}

	#btn-close::before {
	    content: "\f00d";
	    font-family: "FontAwesome";
	    color: #d0d0d0;
	    font-size: 20px;
		-webkit-transition:200ms ease;
		-moz-transition:200ms ease;
		-o-transition:200ms ease;
		transition:200ms ease;
	}

	#btn-close:hover::before {
		color: #000;
	}


	/* Menu Responsive */
	#respnav.visible {
	    transform: translate3d(-100%,0,0);
	}

	#respnav {
	    position: fixed;
	    display: block;
	    top: 0;
	    left: 100%;
	    width: 80%;
	    bottom: 0;
	    background: #fff;
	    box-sizing: border-box;
	    border-top: 1px solid #e4e4e4;
	    z-index: 999999;
	    overflow: hidden;
		-webkit-transition:200ms ease;
		-moz-transition:200ms ease;
		-o-transition:200ms ease;
		transition:200ms ease;
	}

	#respnav .respmenu {
		padding: 20px;
	}

	#respnav ul {
	    clear: both;
	    padding-left: 0;
	}

	#respnav ul li {
		list-style: none;
	}

	#respnav ul a {
		display: block;
		text-decoration: none;
		font-weight: 500;
		color: #858585;
		padding: 10px;
		line-height: 26px;
		text-transform: uppercase;
		border-bottom: 1px solid #e8e8e8;
		-webkit-transition:200ms ease;
		-moz-transition:200ms ease;
		-o-transition:200ms ease;
		transition:200ms ease;
	}

	#respnav ul a:hover,
	#respnav ul a.active {
		color: #000;
	}

	#respnav ul li:first-child a {
		border-top: 1px solid #e8e8e8;
	}


	/* Footer */
	footer {
		padding-left: 0;
	}

	footer p {
		text-align: center;
	}


	/* Blocs */
	body:not(#accueil) .content .left,
	body:not(#accueil) .content .right {
	    display: inline-block;
	}

	#objectifs .content .left {
	    width: 35% !important;
	}

	#objectifs .content .right {
	    width: 65% !important;
	}

	#contact .content .left,
	#contact .content .right {
	    width: 50% !important;
	}


	/* Cookies */
	.cookiebanner {
		left: 0px !important;
	}


}


@media screen and (max-width: 768px) {


	.wrapper {
	    padding: 122px 60px 60px;
	}


	/* Blocs */
	body:not(#accueil) .content .blocs {
	    margin-left: 0;
	    margin-right: 0;
	}

	body:not(#accueil) .content .left,
	body:not(#accueil) .content .right {
	    display: block;
	    padding: 0;
	    width: 100% !important
	}

	body:not(#accueil) .content .left {
		margin-bottom: 30px;
	}

	body:not(#accueil) .content h2 {
		padding-right: 0;
	}


}


@media screen and (max-width: 640px) {


	.wrapper {
	    padding: 112px 50px 50px;
	}

	.content img {
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
	}


}



@media screen and (max-width: 480px) {

	.wrapper {
	    padding: 102px 30px 50px;
	}

	.content p {
		text-align: left !important;
	}


	/* Membres  */
	#membres .content .membres .membre {
	    margin-left: -12px;
	    margin-right: -12px;
	}

	#membres .content .membres .membre .logo,
	#membres .content .membres .membre .details {
    	padding: 0 12px;
   	}

	#membres .content .membres .membre .logo {
	    width: 100px;
	}

	#membres .content .membres .membre .details {
	    width: calc(100% - 100px);
	}
	

}