/* -------------------------------------------------------------
Specific styles template.
------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

html, body {
	font-size: 16px;
	line-height: 1.2em;
}

html, body, button, input, select, textarea {
	/* font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; 
	font-family: Verdana, sans-serif;
	*/
	font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;
	line-height: 1.2em;
}

body {
	margin: 0.5em;
}

:hover, :focus, :active {
	outline: none;
}

h1, h2, h3, h4, h5, h6, .w3-slim, .w3-wide {
	font-family: "Segoe UI", Arial, sans-serif;
	line-height: 1em;
}

h1 {
	font-size: 30px;
	margin-top: 1.5em;
	margin-left: 0em;
	margin-bottom: 1em;
	border-radius: 15px;
}

h2 {
	font-size: 24px;
	margin-top: 1.2em;
	margin-left: 1em;
	margin-bottom: 1em;
	border-radius: 10px;
}

h3 {
	font-size: 20px;
	margin-top: 1em;
	margin-left: 2.5em;
	margin-bottom: 1em;
	border-radius: 8px;
}

h4 {
	font-size: 18px;
}

h5 {
	font-size: 16px;
}

h6 {
	font-size: 14px;
}

a {
	color: #0078CF; 
	font-weight: normal;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s ease;
	-moz-transition: color 0.2s ease;
	-webkit-transition: color 0.2s ease;
	-o-transition: color 0.2s ease;
}

a:hover {
	color: #000;
	text-decoration: underline;
	background: rgba(0, 0, 0, .025);
}

::-moz-selection {
	background: #0078CF;
	color: #fff;
	text-shadow: none;
}

::selection {
	background: #0078CF;
	color: #fff;
	text-shadow: none;
}

p {
	margin: 0 0 1em;
}

p:last-child {
	margin-bottom: 0;
}
p.paragNoMarginBottom {
	margin-bottom: 0;
}
p.paragDemiMarginBottom {
	margin-bottom: 0.3em;
}

a:visited {
	opacity: 0.9;
}

a:active, a:focus {
	position: relative;
	top: 1px;
}

ul {
	margin-top: 0em;
	margin-bottom: 1em;
}
ul li {
	padding-bottom: 0.2em;
}


/* -------------------------------------------------------------
======	Tables
------------------------------------------------------------- */
.sty_table_responsive {
	overflow-x:auto;  /* Table inside a Div : To make the table responsive, 
						display a horizontal scroll bar if the screen is too small to display the full content */
}
.w3-table-all {
	margin-top: 1em;
	margin-bottom: 1em;
}

/*


.w3-table-all td, .sty_table_gen_1 th {
    border: 1px solid #ddd;
    padding: 8px;
}

.w3-table-all th {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 12px;
    padding-right: 12px;
    text-align: left;
    background-color: #4CAF50;
    color: white;
}
*/

/* -------------------------------------------------------------
======	Navbar template
------------------------------------------------------------- */
.w3-topnav {
	padding: 0px 0px
}

#top_gen_banner_container {
	vertical-align: bottom;
	border-radius: 20px;
}

#top_banner_showplace {
	height: 3.7em;
	vertical-align: bottom;
	float: left;
	overflow: visible;
	border-radius: 20px;
}


#top_banner_showplace_citation {
	margin-top: 8px;
	margin-bottom: 0px;
	padding-top: 4px;
	padding-bottom: 1px;
	font-style: italic;
	font-size: 1.1em;
	color: #FFFFFF;
	float: left;
}
#top_banner_showplace_citation:hover {
	color: #FFFFFF;
	border-bottom: none;
}

#top_menu_horiz {
	height: 2.1em;
	vertical-align: bottom;
	font-size: 18px;
	border-radius: 0px 0px 20px 0px;
}

#top_menu_horiz .w3-button {
	padding: 1px 8px;
	/* margin: 24px 2px; */
	margin: 48px 2px 0px 2px;
	margin: 0px;
	vertical-align: bottom;
}

#top_gen_banner_container .w3-hover-theme-d3:hover {
	color: #fff !important;
	background-color: #054850 !important;
}

.logo_cell {
	padding: 0px 0px;
	margin: 0px 0px;
	border-radius: 20px;
}
.logo_cell .w3-hover-theme-d3:hover {
	text-decoration: none;
	border: none;
}

#top_gen_banner_container #top_menu_home_anchor {
	padding: 13px 7px 8px 9px;
	margin: 0px 0px;
	text-align: left;
	border-radius: 20px 0px 0px 20px;
}

.logo_cell_mini_text {
	padding: 0px 0px 0px 4px;
	margin: 0px;
}

.logo_cell_main_text {
	padding: 0px 0px 0px 0px;
	margin: 0px;
}

/* -------------------------------------------------------------
======	Footer bar template
------------------------------------------------------------- */
#bottom_gen_footer_container {
}

#bottom_gen_footer_container a {
	color: #ffffff;
	text-decoration: underline;
}

/* -------------------------------------------------------------
======	MISC
------------------------------------------------------------- */
.w3-tiny-ultra {
	font-size: 0.3em !important
}

.w3-tiny {
	font-size: 0.75em !important
}

.w3-small {
	font-size: 0.85em !important
}

.w3-medium {
	font-size: 1em !important
}

.w3-large {
	font-size: 1.2em !important
}

.w3-xlarge {
	font-size: 1.5em !important
}

.w3-xxlarge {
	font-size: 2.1em !important
}

.w3-xxxlarge {
	font-size: 3.1em !important
}

.w3-jumbo {
	font-size: 4.3em !important
}

.w3-margin-right-small {
	margin-right: 6px;
}

.hidden {
	display: none !important;
	visibility: hidden
}

/* For the medium size specific designs */
@media ( max-width :992px) and (min-width:601px) {
	#top_menu_horiz {
		font-size: 1em;  
		height: 2.4em;
	}
 
	#top_menu_horiz .w3-bar-item {
		/* padding: 8px 16px; */
		padding: 1px 6px;  
		line-height: 1em;
	}
	.w3-topnav #top_menu_horiz a {
		border-bottom: 1px solid transparent;
	}
	.w3-topnav #top_menu_horiz a:hover {
		border-bottom: 1px solid #fff;
	}
	
}

/* For the small size specific designs */
@media ( max-width :600px) {
	#navMenuSmallScreens {
		font-size: 1em;  
		border-radius: 15px;
		text-align: left;
	}
	#navMenuSmallScreens .w3-bar-item {
		/* padding: 8px 16px; */
		padding: 3px 6px;  
		display: inline;
		float: none;
	}
	.w3-topnav #navMenuSmallScreens a {
		border-bottom: 1px solid transparent;
	}
	.w3-topnav #navMenuSmallScreens a:hover {
		border-bottom: 1px solid #fff;
	}
}

/* -------------------------------------------------------------
/* -- Specifique, a moi moi moi... 
------------------------------------------------------------- */
.sty_p_padding_bottom_0em {
	padding-bottom: 0em;
}
.sty_p_padding_bottom_0_5em {
	padding-bottom: 0.5em;
}
.sty_p_padding_bottom_1em {
	padding-bottom: 1em;
}
.sty_p_margin_bottom_0em {
	margin-bottom: 0em;
}
.sty_p_margin_bottom_0_5em {
	margin-bottom: 0.5em;
}
.sty_p_margin_bottom_1em {
	margin-bottom: 1em;
}

.sty_p_citation_titre {
	padding-bottom: 0.5em;
	padding-top: 0.5em;
}

.sty_p_citation {
	font-style: italic;
}

.sty_p_citation_titre {
	font-style: normal;
	line-height: 1.5em;
	font-weight: bold;
	text-align: center;
	background-color: #6F8CAA;
	color: #000000;
	border: #3F597A 2px solid;
}

.sty_p_citation_titre {
	font-style: normal;
	line-height: 1.5em;
	font-weight: bold;
	text-align: center;
	background-color: #6F8CAA;
	color: #000000;
	border: #3F597A 2px solid;
}

.sty_p_line_height_1_6_em {
	line-height: 1.6em;
}

.sty_w_exergue_light {
	font-weight: bold;
}

.sty_w_exergue_bright {
	font-weight: bold;
	color: #B60039; /* rouge sur fond lilas */
}

.sty_icon_colors_standard {
    background: #b50000;  /* red */
    color: white;
}

.sty_icon_in_round_background_40x40 {
    height: 40px;
    width: 40px;
    line-height: 40px;
    vertical-align: middle;
    text-align: center;
    font-size: 18px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}
.sty_icon_in_round_background_25x25 {
    height: 25px;
    width: 25px;
    line-height: 25px;
    vertical-align: middle;
    text-align: center;
    font-size: 14px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}

.sty_telephone_number_banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    line-height: 45px; /* for proper tuning of the hidden second line. */
    cursor: pointer;
    overflow: hidden;
    z-index: 20;
    -webkit-transition: width 0.3s;
    -moz-transition: width 0.3s;
    transition: width 0.3s;
}
/* not_used_A_VIRER
.sty_telephone_number_banner img {
    float: left;
    margin-top: 10px;
    margin-left: 9px;
} */
.sty_telephone_number_banner span a {
    margin-left: 2px;
    color: white;
    text-decoration: none;
}
.sty_telephone_number_banner:hover {
  width: 173px;
}

/* For the small size specific designs */
@media ( max-width :600px) {

	/* adapt the size of the icon, for the small screens. */
	.sty_icon_in_round_background_40x40 {
	    height: 20px;
	    width: 20px;
	    line-height: 20px;
	    vertical-align: middle;
	    text-align: center;
	    font-size: 14px;
	    -webkit-border-radius: 20px;
	    -moz-border-radius: 20px;
	    border-radius: 20px;
	}
		
	.sty_telephone_number_banner {
	    bottom: 10px;
	    right: 10px;
	    line-height: 22px; /* for proper tuning of the hidden second line. */
	}
	.sty_telephone_number_banner:hover {
	  width: 153px;
	}
	
}
/* -------------------------------------------------------------
======	END
------------------------------------------------------------- */