/*
Theme Name: Theme Marense
Author: Denis Maurin
Description: New Theme For Marense.com - Second Version
Text Domain: marense
Version: 2.1
*/

/** Global **/

body{
	margin: 0;
	font-family: 'Muli', sans-serif;
}

.hidden{
	display: none;
}

/** Header **/

header{
	color: white;
	padding: 20px 10px 20px 10px;
}

.centered_header{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	display: flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: -moz-flex;
	justify-content: space-between;
	align-items: center;
}

.site_infos{
	flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		-moz-flex: 1;
}

.site_infos > *{
	display: block;
	font-family: 'Muli', sans-serif;
}
.site_infos a{
	color: white;
	text-decoration: none;
}

.site_infos_title{
	font-weight: bold;
	font-size: 2.2em;
	font-family: 'Open Sans', sans-serif;
}
.site_infos_desc{
	font-size: 1.1em;
	padding-bottom: 4px;

}

/** Footer **/

footer{
	color: white;
	padding: 10px 20px 10px 20px;
	border-top: solid 3px;
}

.centered_footer{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	display: flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: -moz-flex;
	justify-content: center;
	flex-wrap: wrap;
}

.footer_widget_title{
	color: lightgrey;
	font-size: 1.1em;
	padding-bottom: 10px;
	display: block;
}

.footer_widget{
	width: 230px;
	max-width: 100%;
	margin: 5px 10px 10px 5px;
}

.footer_widget ul{
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.footer_widget a{
	display: block;
	padding: 8px 12px 8px 12px;
	color: lightgrey;
	text-decoration: none;
	border-left: solid 2px;
}
.footer_widget a:hover{
}

 

/** Navigation **/

@media(max-width: 700px){
	.navigation_bar_switcher{
		margin-right: 10px;
		cursor: pointer;
	}
	.navigation_bar_switcher img{
		display: block;
	}

	#navigation_bar_status:not(:checked) ~ nav{
		display: none;
	}
	#navigation_bar_status:checked ~ nav{
		display: block;
	}
	#navigation_bar_status:checked ~ footer,
	#navigation_bar_status:checked ~ section{
		opacity: 0.2;
	}

	nav.main{
		color: white;
	}

	.main_menu{
		margin: 0;
		padding: 0;
		list-style-type: none;
		border-bottom: solid 3px;
	}

	.main_menu > li > a{
		color: lightgrey;
		text-decoration: none;
		padding: 8px 12px 8px 12px;
		display: block;
	}

	.main_menu > li > a:hover,
	.main_menu > li > a:focus{
		color: white;
	}

	.main_menu > li > ul a{
		color: lightgrey;
		text-decoration: none;
		padding: 8px 12px 8px 12px;
		display: block;
	}

	.main_menu > li > ul a:hover{
	}

	.main_menu > li > ul{
		display: none;
	}

	.main_menu > li:hover > ul{
		display: block;
	}
	.main_menu > li > a:focus ~ ul{
		display: block;
	}

	.main_menu > li ul{
		list-style-type: none;
		padding: 0;
	}

	.main_menu > li ul {
		margin-left: 12px;
		border-left: solid 2px;
	}

	.main_menu > li > ul > li ul{
		display: none;
	}

	.main_menu > li > ul > li.current_page_item ul,
	.main_menu > li > ul > li.current-menu-ancestor ul{
		display: block !important;
	}
	
	.current_page_item{
		color: white !important;
	}
	
}
@media(min-width: 700px){
	.navigation_bar_switcher{
		display: none;
	}

	nav.main{
		color: white;
		padding: 0 10px 0 10px;
	}
	.navigation_bar_switcher img{
		display: block;
	}


	.main_menu{
		margin: 0;
		padding: 0;
		list-style-type: none;
		flex: 1;
	}

	.centered_nav{
		max-width: 1000px;
		margin: 0 auto 0 auto;
		display: flex;
	}

	.main_menu > li > a{
		color: lightgrey;
		text-decoration: none;
		padding: 8px 12px 8px 12px;
		display: inline-block;
	}

	.main_menu > li > a:hover{
		color: white;
	}

	.main_menu > li > ul a{
		color: lightgrey;
		text-decoration: none;
		padding: 8px 12px 8px 12px;
		display: block;
	}

	.main_menu > li > ul a:hover{
	}


	.main_menu > li{
		display: inline-block;
	}

	.main_menu > li > ul{
		display: none;
		position: absolute;
		border-top: solid 3px;
		z-index: 10000;
	}

	.main_menu > li:hover > ul{
		display: block;
	}

	.main_menu > li ul{
		list-style-type: none;
		padding: 0;
	}

	.main_menu > li > ul > li ul{
		display: none;
		margin-left: 12px;
		border-left: solid 2px;
	}

	/*
	.main_menu > li > ul > li.current_page_item ul,
	.main_menu > li > ul > li.current-menu-ancestor ul{
		display: block !important;
	}*/

	.current_page_item{
		color: white !important;
	}

}


.input_menu_link_depth_1:checked ~ ul,
.input_menu_link_depth_1:checked ~ ul ul{
	display: block !important;
}

.menu_link_depth_1{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.menu_link_depth_1 > a{
	flex: 1;
}

.menu-item-has-children > .menu_link_depth_1 > .label_menu_link_depth_1{
	min-width: 40px;
	cursor: pointer;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;;
}

.menu-item-has-children > .input_menu_link_depth_1:checked ~ .menu_link_depth_1 > .label_menu_link_depth_1{
	background-image: url("./res/moins.svg");
}
.menu-item-has-children > .input_menu_link_depth_1:not(checked) ~ .menu_link_depth_1 > .label_menu_link_depth_1{
	background-image: url("./res/plus.svg");
}





/** Search **/

.search_bar{
	display: flex;
}

.search_bar_content{
	margin: 0;
	height: 30px;
	border: none;
	padding: 2px 2px 2px 5px;
	box-sizing: border-box;
	border-radius: 2px 0 0 2px;
	width: 220px;
}

.search_bar_submit{
	margin: 0;
	padding: 0;
	border: none;
	cursor: pointer;
	border-radius: 0 2px 2px 0;
	overflow: hidden;
}

.search_bar_submit:hover{
}

.search_bar_submit > img,
.search_bar_switcher > img{
	display: block;
	cursor: pointer;
}

.search_bar.mobile{
	padding: 10px;
	border-top: solid 3px;
	border-bottom: solid 3px;
}

.search_bar.mobile > .search_bar_content{
	flex:1;
}

@media(max-width: 700px){
	.search_bar_switcher{

	}
	header .search_bar{
		display: none;
	}

	#search_bar_status:not(:checked) ~ .search_bar.mobile{
		display: none;
	}

}
@media(min-width: 700px){
	.search_bar_switcher{
		display: none;
	}
	.search_bar.mobile{
		display: none;
	}

}

/** Content **/

.centered_section{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 0 10px 0 10px;
}

.page_header{
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-attachment: fixed !important;
	background-size: cover !important;
	padding: 0 10px 0 10px;
	border-top: solid white 2px;
}

.breadcrumb{
	margin:0;
	padding:0;
	list-style-type: none;
	display: inline-block;
	background: rgba(255,255,255,0.5);
	border-radius: 14px;
}

.page_header.without_bg
{
	border-bottom: solid 2px;
}

.page_header.without_bg .breadcrumb{
	background: rgba(50,50,50,0.3);
}

nav.breadcrumb_nav{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 15px 0 0 0;
}

.breadcrumb > li{
	display: inline-block;
}
.breadcrumb > li a{
	display: inline-block;
	padding: 3px 8px 3px 8px;
	text-decoration: none;
	font-size: 0.9em;
	color:#0f292c;
}

.breadcrumb_inter{
}

.page_header h1{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 10px 0 10px 0;
	font-size: 2.3em;
	color: white;
}
.page_header.without_bg h1{
	color: rgb(100,100,100);
}

/* Glossary */

.glossary_letters{
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	margin: 0 auto 0 auto;
	max-width: 1000px;
	flex-wrap: wrap;
	border-radius: 3px;
	overflow: hidden;
	background-color: lightgrey;
}

.glossary_letters a{
	display: inline-block;
	padding: 3px 6px 3px 6px;
	color: white;
	text-decoration: none;
	text-align: center;
	min-width: 20px;
}
.glossary_letters a:nth-child(2n-1){
	background: rgb(100,100,100);
}
.glossary_letters a:nth-child(2n){
	background: rgb(150,150,150);
}

.glossary_letters a:first-child{
	flex: 1;
	min-width: 40px;
}

.glossary_title{
	color: black;
	margin: 0 auto 0 auto;
	max-width: 1000px;
	padding: 10px 0 10px 0;
}

.border_protect{
	padding: 0 10px 0 10px;
}

.glossary_content{
	max-width: 1000px;
	padding: 20px 0 0 0;
	margin: 0 auto 0 auto;
	list-style-type: none;
}

.glossary_content li a{
	display: block;
	padding: 4px 8px 4px 8px;
	border-bottom: solid lightgrey 1px;
	color: black;
	text-decoration: none;
}
.glossary_content li a:hover{
}

/** search result **/

.search_result{
	display: flex;
	max-width: 1000px;
	margin: 0 auto 0 auto;
	justify-content: space-between;
	flex-direction: row;
	align-items: flex-start;
}

.front_search_result,
.other_search_result{
	flex: 1;
	max-width: 490px;
}

@media(max-width: 1020px){
	.search_result{
		display: flex;
		max-width: 1000px;
		margin: 0 auto 0 auto;
		flex-direction: column;
	}
	.front_search_result,
	.other_search_result{
		flex: 1;
		width: 100%;
		max-width: 1000px;
	}
}

.search_title{
	font-size: 1.5em;
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 20px 0 10px 0 ;
	color: rgb(100,100,100);
}



.other_search_result{
	list-style-type: none;
	margin: 0;
	padding: 0;
	margin: 10px 0 10px 0;
}

.front_search_result{
	display: block;
	border-radius: 3px;
	border: solid 1px;
	transition: border 0.2s;
	text-decoration: none;
	margin: 10px 0 10px 0;
}
.front_search_result:hover{
	border: solid 1px;
}
.front_search_result:hover .front_search_result_title{
}

.front_search_result_title{
	padding: 5px 10px 5px 10px;
	text-decoration: none;
	color: white;
	font-size: 1.1em;
	transition: background 0.2s;
}

.front_search_result_tc{
	padding: 5px 10px 5px 10px;
	color: black;
}
.front_search_result_tpt img{
	display: block;
	width: 100%;
	height: auto;
	transition: filter 0.2s;
}

.front_search_result:hover .front_search_result_tpt img{
	filter: brightness(0.6);
}

.other_search_result li{
	margin-bottom: 5px;
	border-radius: 3px;
	display: block;
	transition: background 0.2s;
}

.other_search_result li:hover{
}

.other_search_result li a{
	padding: 4px 8px 4px 8px;
	display: block;
	color: white;
	text-decoration: none;
}

/** sitemap **/

.sitemap{
	list-style-type: none !important;
	margin: 0;
	padding: 10px 0 10px 0;
	border-left: solid 2px;
}

.sitemap > li ul{
	list-style-type: none;
	margin-left: 12px;
	border-left: solid 2px;
}

.sitemap a{
	color: black;
	text-decoration: none;
	padding: 8px 12px 8px 12px;
	display: block;
}

.sitemap a:hover{
}

.sitemap > li ul{
	list-style-type: none;
	padding: 0;
}

.sitemap > li ul {
	margin-left: 12px;
	border-left: solid 2px;
}

/** language switcher **/

@media(min-width: 700px){
	.nav_language_switcher .widget{
		position: absolute;
	}

	.international_flag{
		height: 100%;
		width: 40px;
		background-size: 60% auto !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		cursor: pointer;
	}
	.international_flag:hover{
	}



	.nav_language_switcher .widget ul{
		border-top: solid 3px;
		padding: 0;
		margin: 0;
		display: none;
	}

	.nav_language_switcher:hover .widget ul{
		display: block; 
	}

	.nav_language_switcher .widget li{
		display: block;
		margin: 0;
		padding: 0px;
		text-align: center;
		opacity: 1 !important;
	}

	.nav_language_switcher .widget li:hover{
		background-color: #2b957a;
	}


	.nav_language_switcher .widget a{
		padding: 10px;
	}
	.nav_language_switcher .widget img,
	.nav_language_switcher .widget a{
		display: block;
	}
	.nav_language_switcher .widget img{
		width:20px;
		height: auto;
	}
}

@media(max-width: 700px){
	.international_flag{
		height: 40px;
		width: 40px;
		background-size: 60% auto !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		cursor: pointer;
		margin-left: 5px;
		margin-right: 5px;
	}
	.nav_language_switcher{
		display: flex;
		flex-direction: row;
		border-bottom: solid 3px;
	}
	.nav_language_switcher .widget{
		position: static;
	}
	.nav_language_switcher .widget ul{
		display: block;
	}
	.nav_language_switcher .widget li:hover{
	}

	.nav_language_switcher .widget ul{
		padding: 0;
		margin: 0;
		display: flex;
		border-left: solid 2px;
	}
	.nav_language_switcher .widget img{
		display: block;
		height: 14px;
		width: auto;
	}
	.nav_language_switcher .widget a{
		padding: 13px;
		display: block;
	}
	.nav_language_switcher .widget li{
		display: inline-block;
		margin: 0;
		padding: 0px;
		text-align: center;
		opacity: 1 !important;
	}
}

/** Def page **/

.single_def_header{
	padding: 0 10px 0 10px;
	border-bottom: solid 2px;
}

.single_def_header h1{
	max-width: 1000px;
	margin: 0 auto 0 auto;
	padding: 20px 0 20px 0;
	display: flex;
	align-items: center;
	font-size: 2em;
	color: rgb(100,100,100);
}

.single_def_header_pre{
	display: inline-block;
	font-size: 0.5em;
	padding: 5px 10px 5px 10px;
	margin-right: 10px;
	border-radius: 20px;
	color: white;
}

.single_def_header_title{
	display: inline-block;
}

/* Content */

.centered_section img{
	max-width: 100%;
	height: auto;
}

.centered_section{
	text-align: justify;
}

.centered_section a:hover{
}
.centered_section a:active{
	color: #762f2a;
}

.centered_section img.aligncenter{
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.centered_section img.alignleft{
	float: left;
	display: block;
	margin-right: 10px;
	margin-bottom: 10px;
}

.centered_section ul{
	list-style-position: inside;
	list-style-type: square;
	padding-left: 20px;
}

.centered_section a[href$=".jpg"],
.centered_section a[href$=".png"]{
	display: block;
}

.centered_section .wpcf7-form input{
	box-sizing: border-box;
	max-width: 100%;
}


/** 404 **/

.error_404{
	margin-top: 40px;
	margin-bottom: 10px;
	font-size: 4em;
	font-weight: bold;
	text-align: center;
}
.error_404_info{
	margin-bottom: 40px;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}


/** ------------------ Colors ----------------------- **/

	/* Backgrounds */
		/* Darkest */
		footer,
		nav.main,
		.main_menu > li > ul,
		.search_bar_submit,
		.nav_language_switcher .widget li
		{
			background-color: #185359;
			background-color: var(--darkest);
		}
		/* Dark */
		header,
		.search_bar.mobile,
		.front_search_result_title,
		.other_search_result li,
		.nav_language_switcher .widget li:hover,
		.nav_language_switcher .widget ul
		{
			background-color: #1b6872;
			background-color: var(--dark);
		}
		/* Light */
		.footer_widget a:hover,
		.main_menu > li > ul a:hover,
		.search_bar_submit:hover,
		.front_search_result:hover .front_search_result_title,
		.other_search_result li:hover,
		.single_def_header_pre,
		.menu_link_depth_1:hover
		{
			background-color: #2d957a;
			background-color: var(--light);
		}
		.international_flag:hover{
			background-color: #2d957a !important;
			background-color: var(--light) !important; 
		}

	/* Texts */
		/* Darkest */
		.centered_section a,
		.error_404 span:nth-child(2)
		{
			color: #185359;
			color: var(--darkest);
		}
		/* Dark */
		.error_404 span:nth-child(3){
			color: #1b6872;
			color: var(--dark);
		}
		/* Light */
		.glossary_content li a:hover,
		.sitemap a:hover,
		.centered_section a:hover,
		.error_404 span:nth-child(1)
		{
			color: #2d957a;
			color: var(--light);
		}

	/* Borders */
		/* Darkest */
		.single_def_header,
		{
			border-color: #185359;
			border-color: var(--darkest);
		}
		.page_header.without_bg{
			border-bottom-color: #185359;
			border-bottom-color: var(--darkest);
		}
		/* Dark */
		.footer_widget a,
		.main_menu > li ul,
		.main_menu > li > ul > li ul,
		.front_search_result,
		.sitemap,
		.sitemap > li ul,
		.nav_language_switcher .widget ul
		{
			border-color: #1b6872;
			border-color: var(--dark);
		}
		/* Light */
		footer,
		.main_menu,
		.search_bar.mobile,
		.front_search_result:hover,
		.nav_language_switcher
		{
			border-color: #2d957a;
			border-color: var(--light);
		}
