/* -----------------------------------------------------
Base styles for screen media
FileName:    master.css
----------------------------------------------------- */
/* General elements */
/* ----------------------------------------------------- */
@font-face {
	font-family: 'open_sansregular';
	src: url('../font/opensans-regular.woff2') format('woff2'),
		url('../font/opensans-regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'open_sansbold';
	src: url('../font/opensans-bold.woff2') format('woff2'),
		url('../font/opensans-bold.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

body {
	margin: 0;
	padding: 0;
	font-family: "open_sansregular", sans-serif;
	font-size: 0.8em;
	background-color: #00577B;
	/* #1a5189; */
}

.bold {
	font-weight: bold;
}

.flex {
	display: flex;
}

.hidden {
	display: none;
}

#wrapper {
	display: block;
	margin: 2% 25px;
}

/* Grid classes */
.grid {
	display: grid;
	display: -ms-grid;
	align-items: center;
	-ms-flex-pack: center;
}

.marginLeft10 {
	margin-left: 10px;
}

.marginRight10 {
	margin-right: 10px;
}

/* Header Section */
/* ----------------------------------------------------- */
#hdrSection {
	display: block;
	margin: 0;
	height: 135px;
	width: 100%;
}

#hdr {
	position: relative;
	z-index: 0;
	width: 100%;
}

/* Help Navigation */
/* ----------------------------------------------------- */
#helpNav {
	position: absolute;
	padding: 0 2px 3px 0;
	font-size: 80%;
	line-height: 160%;
	top: 0px;
	right: 0px;
	width: 83%;
}

#helpNav .content {
	float: right;
}

/* Informations */
/* ----------------------------------------------------- */
#info {
	/*min-height:23px;*/
	margin: 0;
	position: relative;
	/*width:100%;*/ /*  width:99.9%; */
	z-index: 1;
	/*font-size:0.75em;*/
}

#infoLeft {
	float: left;
}

#infoLeft :after {
	clear: both;
}

#infoRight {
	padding-right: 6px;
	display: block;
	text-align: right;
}

#info img, #info input {
	vertical-align: middle;
}

#info input {
	font-size: 1em;
}

#info a:link, #info a:visited {
	
}

#info #searchfield {
	width: 12em;
}

#info span.infoSep {
	font-size: 1.4em;
}

#info span.infoSepHidden {
	font-size: 1.4em;
	visibility: hidden;
}

#infoRight span.infoSep {
	line-height: 170%;
	/* backslash hack pour IEmac \*/
	line-height: 130%;
	/* end hack */
}

#info input.searchButton {
	cursor: pointer;
}

#info label {
	margin-right: 5px;
}

#info #searchForm {
	margin: 0;
	padding: 0;
}

/* Formating structure */
/* ----------------------------------------------------- */
#wrap {
	width: 100%;
	/*     position: relative; */
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	margin: 0;
}

#subwrap {
	margin: 0 0 30% 2%;
	padding: 0;
}

/* Left column */
/* ----------------------------------------------------- */
#leftCol {
	position: absolute;
	margin: 0;
	padding: 0;
	width: 160px;
	left: 0;
	top: 0px;
}

#leftCol .leftColContent {
	font-size: 85%;
	width: 160px;
}

#leftCol #mainNav {
	padding: 0;
	margin: 0;
	width: 160px;
}

#M #leftCol, #MR #leftCol {
	display: none;
}

#M #leftCol .leftColContent, #MR #leftCol .leftColContent {
	display: none;
}

/* Right column */
/* ----------------------------------------------------- */
#lang {
	padding: 0;
	height: 45px;
}

#rightCol {
	/* 	overflow: hidden; */
	margin-top: 16px;
	margin-bottom: 0;
	margin-left: 25px;
	margin-right: 25px;
	padding: 0;
	flex-grow: 1;
	flex-shrink: 3;
	flex-basis: 0;
	max-width: 515px;
	min-width: 300px;
}

#M #rightCol, #LM #rightCol {
	display: none;
}

/* Middle content column */
/* ----------------------------------------------------- */
#middleCol {
	float: left;
	/* 	overflow: hidden; */
	margin: 0;
	margin-left: 25px;
	padding: 0;
	font-size: 1em;
	flex-grow: 3;
	flex-shrink: 1;
	flex-basis: 0;
}

#middleCol .content {
	/*     margin: 0 15px 0 20px; */
	
}

#M #middleCol, #LM #middleCol {
	width: 100%;
}

#contentBody, #contentBody p {
	font-size: 1em;
}

/* Titles */ /* ----------------------------------------------------- */
h1 {
	font-size: 2em;
}

h2 {
	font-size: 110%;
}

h3 {
	font-size: 100%;
}

h4 {
	font-size: 100%;
}

/* Generic */
/* ----------------------------------------------------- */
.none {
	display: none;
}

.icon {
	vertical-align: middle;
}

a .icon {
	text-decoration: none;
}

.clear {
	clear: both;
	line-height: 0;
	font-size: 0;
	height: 0;
}

.clearR {
	clear: right;
	line-height: 0;
	font-size: 0;
	height: 0;
}

.clearL {
	clear: left;
	line-height: 0;
	font-size: 0;
	height: 0;
}

.centerText {
	text-align: center;
}

.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.right {
	text-align: right;
}

.imgCenterText {
	vertical-align: text-top;
}

img.centerText {
	vertical-align: middle;
}

img.alignLeft {
	float: left;
	margin: 4px;
	margin-right: 13px;
}

img.alignRight {
	float: right;
	margin: 4px;
}

img.alignCenter {
	display: block;
	margin-left: auto;
	margin-right: auto
}

.bold {
	font-weight: bold;
}

.nomargin {
	padding: 0;
	margin: 0;
}

.aright {
	float: right;
}

.atexttop {
	vertical-align: text-top;
}

.atextbottom {
	vertical-align: text-bottom;
}

.atextmiddle {
	vertical-align: middle;
}

.error {
	background-image: url(../../pictures/layout/icons/error.gif);
	background-position: top left;
	background-repeat: no-repeat;
	color: #b90000;
	font-weight: bold;
	padding-left: 28px;
	padding-top: 5px;
	padding-bottom: 0px;
}

.error ul, .error ol, .error dl {
	color: #b90000;
	margin-top: 1em;
	margin-bottom: 1em;
}

.errorStar {
	color: #b90000;
	font-weight: bold;
}

/* Footer */ /* ----------------------------------------------------- */
#foot {
	position: relative;
	display: block;
	clear: both;
	width: 100%;
	/*  width:99.9%; */
	padding: 0;
	z-index: 1;
	height: 25px;
}

#foot .content {
	position: relative;
	z-index: 1;
}

#foot .contentB {
	background-size: 30px 20px;
}

#update {
	position: absolute;
	margin-left: 180px;
	top: -1.5em;
	left: 0px;
}

#M #foot .content, #MR #foot .content {
	margin: 0;
}

/* remove email field due to google bar */
/* ----------------------------------------------------- */
input[type="text"] /* To keep form fields consistent */ {
	background: #fff !important;
	border: none;
	padding-left: 5px;
	line-height: 29px;
	height: 29px;
}

input[type="select"] /* To keep form fields consistent */ {
	background: #fff !important;
}

select {
	border: none;
	padding-left: 5px;
	height: 29px;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: url('../../pictures/layout/icons/select_arrow.svg');
	background-size: 12px;
	background-position-x: calc(100% - 5px);
	background-position-y: calc(100% - 5px);
	background-repeat: no-repeat;
	background-color: white;
	-webkit-appearance: none;
}

input[type="text"]:focus, select:focus {
	outline: 2px solid #709fbb;
}

/* Custom checkboxes with images */
.customCheckboxLabelLeft>input[type="checkbox"] {
	display: none;
}

.customCheckboxLabelLeft>label {
	content: "";
	display: inline-block;
	background: url('../../pictures/layout/icons/checkbox_unchecked.png');
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: right;
	padding-right: 25px;
}

.customCheckboxLabelLeft>input[type=checkbox]:checked+input+label {
	background: url('../../pictures/layout/icons/checkbox_checked.png');
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: right;
}

.customCheckboxLabelRight>input[type="checkbox"] {
	display: none;
}

.customCheckboxLabelRight>label {
	content: "";
	display: inline-block;
	background: url('../../pictures/layout/icons/checkbox_unchecked.png');
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: left;
	padding-left: 20px;
	margin-left: 0;
}

.customCheckboxLabelRight>input[type=checkbox]:checked+input+label {
	background: url('../../pictures/layout/icons/checkbox_checked.png');
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: left;
	margin-left: 0;
}

input.ui-button, button.ui-button {
	border: 1px solid #00577b;
	background: #00577b;
	font-weight: bold;
	color: white;
	padding: 3px 10px;
	border-radius: 0;
}