body, ol, form { margin: 0; padding: 0; }
ul { padding-left: 1rem; } 

h1, h2, h3, h4, h5, h6 {
  margin: 1rem 0 .4rem;
}
h5, h6 { font-size: 1rem }

img {
  border: none;
  vertical-align: middle;
  outline: none;
}

/* Links */
a:hover, a:focus, a:active { text-decoration: none }
a:focus { outline: none; }

/* Forms */
fieldset {  
  margin:0; 
  padding:0; 
  border:none
} 
label {cursor:pointer; }
label {cursor:pointer; }
.legend { vertical-align: middle; }

input, select {vertical-align: bottom; font-size:1em}
.Checkbox { vertical-align: middle; }
textarea, input {
	border: 1px solid #cfe0f5;
	border-radius:.3em;
	}
textarea { padding:.5em }

blockquote { margin:.75em 0 .75em 20px }
q {font-style:italic}

/* Table */ 
table { 
  border-collapse:collapse;
  border-spacing:0
	} 
td, th {vertical-align:middle}

p {margin: .8em 0} 
.hide {
	position:absolute;
	top:-2000em;
	left:-2000em;
	width:1px;
	height:1px;
	overflow:hidden
	}

abbr {letter-spacing:.1em}

.bloc { display: block; }
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.format_context {overflow:hidden}
.uppercase {text-transform:uppercase}
.nobrd {border:none !important}
.small {font-size: .9em}


/* -------------------------------------------------------------------------- */
html, body {height: 100%}

body {
  font: 100%/1.5 "Segoe UI",Helvetica,Arial,sans-serif;
  color:#29353d
} 

#tophead, #bothead #ctr, #ctr2, #content {
  position:relative;  
  max-width: 900px;
  margin:0 auto
}
#wrapper {
  position:relative; 
  min-height:100%
}

#tophead #open_menu {
  text-decoration: none;
}
.overlay .cancel {
  text-decoration: none;
}

/* ------------------------------------------ H E A D E R ------------------- */

#header #logo {
	float:left; 
	margin-top:10px
}
#logo img {
	display:block; 
	font-size:2em; 
	font-weight:bold;
}
#header h1 {
	margin-top: 0;
	font-size: 1.8em; 
	line-height: 1.0;
	font-weight: normal
}
#header h1 span  { font-weight: bold; }	


/* -------------------------------------- MENU	-------------------------------------- */
	
	#menu {
		float:right; 
		margin:8px 5px 0px 0px;
	}
	#menu li {
		float:left; 
		background: url('../images/menu_separ.png') no-repeat right; 
		padding-right:1px;
		list-style: none;
	}
	#menu a {
		position:relative;
		float:left;
		height:35px;
		background: url('../images/menu_bg.png') repeat-x; 
		line-height:37px;
		text-align:center;
		text-shadow:0 1px 0 #e4eaef;
		text-decoration:none;
		color:#154b7c;
		font-size:1.0em;
		font-weight:bold;
		outline:none; padding-left:11px; padding-right:10px; padding-top:0; padding-bottom:0
	}
	#menu li a .lft, #menu li a .rgt {
		position:absolute;
		top:0;
		height:35px; 
		width:5px
	}
	#menu li a .lft {left:0; background: url('../images/menu_bg_lft.png'); }
	#menu li a .rgt {right:0; background: url('../images/menu_bg_rgt.png'); }
	#menu li:first-child .lft {left:-5px; background: url('../images/menu_left.png') no-repeat; }
	#menu li:last-child .rgt {right:-5px; background: url('../images/menu_right.png') no-repeat; }
	#menu .selected, .selected .lft, .selected .rgt {
			background:#004c93 url('../images/menu_rub_on.png') repeat-x !important; 
			cursor:default; 
			color:#FFF !important; 
			text-shadow: none; 
			line-height:35px
	}
	#menu li:first-child .selected .lft {background: url('../images/menu_acc_on.png') no-repeat !important; }
	#menu li:last-child .selected .rgt {background: url('../images/menu_last_on.png') no-repeat !important; }
	#menu a:hover, #menu a:focus, #menu a:hover .lft, #menu a:focus .lft, #menu a:hover .rgt, #menu a:focus .rgt {
			background-position:0 -35px ; 
			background-color:#bee0ff; 
			color:#175ab2
	}
	#menu a:active, #menu a:active .lft, #menu a:active .rgt {background-position:0 -70px !important}

/*----------------------------------------- BOTTOM HEADER -----------------------------------------*/

#bothead {
	position:relative;
	display:inline-block;
	width:100%;
	background: url('../images/bgblue.jpg');
	color:#FFF;
	padding-left:0; padding-right:0; padding-top:35px; padding-bottom:35px
	}
	#bothead #ctr {
		max-width:665px;
		padding-left: 280px;
	}
	#phot {
		position:absolute;
   		top: -33px;
   		left: 30px;
		width: 256px;
		height: 256px;
    		background:url('../images/gear3.png') no-repeat 0 0;
	}
	#bothead .bullet { margin: 1.5em 0 0}
	#bothead .bullet li { margin-bottom: .2rem; }
	
	#home #bothead img {
		display:block;
		margin:0 auto
	}

/*----------------------------------------- G L O B A L -----------------------------------------*/

ol li {
	list-style:decimal; 
	margin:0 0 .3em 4%; 
	font-size:1.05em
	}
.bigalt {font-size:1.3em; font-weight:bold
	}

a.btn {
	display:inline-block;
	height: 25px;
	line-height: 25px;
	text-align:center;
	outline: none;
	padding: 0 10px !important; 
	color:#002f58 !important;
	text-decoration:none;
	font-weight:bold;
	text-shadow:0 1px 0 #dfe7ed;
	border: 1px solid #8395a6;
	border-radius: 6%;
	text-shadow: 0 1px 1px #dfe7ed;
	box-shadow: 0 1px 1px #cbcfd3; 
	background: #cedae4;
	linear-gradient(top, #dfe8ee, #bacbd9); 
	behavior: url(../cssborder-radius.htc)
}
a.btn:hover, a.btn:focus, a.btn:active {
	background: #e2ecf5; 
	color: #006ccb !important; 
	border-color: #5289b9
	}
a.btn:active {
	background: #0045A4;
	color:#FFF !important;
	text-shadow:none;
	box-shadow: none; 
	}

.maintenancemessage {
	padding:.5em 10px;
	background:#FBF9CE;
	border:1px solid #CBC663;
	border-radius:.5em;
	}
.important {color:#D90000}

.rounded {
	border-radius:5px;
}
.prices {
	display: inline-block;
	margin-left: 3px;
	color:#4e9700;
	background:#F0FFCA;
	border: 1px solid #9ec81c;
	padding: .3em .5em;
		}
.prices .off {
	text-decoration:line-through; 
	color: #777;
	}

/*Titles*/
#maincol h1 {	
	font-family: Trebuchet MS, Lucida Sans Unicode, Lucida Grande, Lucida Sans, Arial, sans-serif;
	color:#276FC5;
	text-transform:uppercase;
	margin: 0 0 0.5em 0;
	border-bottom: 1px solid #488ADB;
	clear:both;
	font-size: 1.5em;
}
#maincol h2 {
	margin-top:0;
	color:#0E54A0;
	padding: 1em 0 .3em;
	font-weight: normal;
	font-size: 1.3em;
	line-height: 1.5;
	}
h2 { color:#025F9F; font-size: 1.3em }
h3 {
	font-size:1.3em; 
	color:#025f9f; 
	font-weight:normal;
	margin-bottom:.2em
	}


/* STRUCTURE ----------------------------------------- */
#maincol {
  float:left;
  max-width: 550px;
  padding-top: 2em;
}

#maincol img {
}

/*.brd0:hover {background:none !important}*/


/* LINKS -------------------------------------- */
a:link {color:#0081D7}
a:visited {color:#3E4E57}
a:hover, a:focus, a:active { text-decoration:none; }

/* FORMS -------------------------------------- */
input[type=text]:focus, textarea:focus {
	border:1px solid #9c5809;
	background:#fbffdf;
	outline: none;
	}
#content input, #content textarea {
	height:1.5em;
	border-color: #93ADBF
	}

#content textarea {height: auto}
form p { clear: both; }
#content .error {
		color:#D00; 
		border-color: #D00 !important; 
		margin-top:0;
		}
#content input.error {color:#333}

/* -------------------------------- C O N T E N T ----------------------------------- */

#content {
	overflow:hidden; 
	padding-bottom:18em;
	width: 100%
	}

#maincol2 {
  padding-top: 70px;
  float:left;
  position:relative;
  left:20%
}

#sidecol { float: right; width: 320px;}
#sidecol .btn  {margin-top: 1em}
#sidecol h2 {
	font-size: 1.9em;
	font-weight:normal;
	background: url('../images/title_arrow.png') no-repeat;
	color:#659e01; margin-left:0; margin-right:0; margin-top:0; margin-bottom:.7em; padding-left:30px; padding-right:0; padding-top:0; padding-bottom:.3em
	}

.sidebox {
  position: relative;
  background: url('../images/sidebox_bg.png') repeat-y;
  margin-top: 2em;
  padding-left: 0; padding-right: 0; padding-top: 1.4em; padding-bottom: 1em;
}

.sidebox .top, .sidebox .bott {
	position:absolute; 
	left:0;
	height:100px;
	width:100%
	}

.sidebox .top {top:0; background: url('../images/sidebox_top.png') no-repeat;}
.sidebox .bott {bottom:0; background: url('../images/sidebox_bott.png') no-repeat;}
.sidecontent {
		position:relative; 
		z-index:1; 
		overflow:hidden;
		padding: 20px;
        padding-top: 0;
		}
.sidebox .separ {
	background: url('../images/sidebox_separ.png') no-repeat top; 
	padding-top:1em
	}
.sidecontent form {padding-top: 15px}
.sidebox .right.small {margin: 0}
.sidebox #Email {width: 200px; margin-left: 5px}
#CGVDemandeEssai {
	float:left;
	vertical-align:middle; 
	border:none
	}
#maincol > div {
	overflow:hidden;
	margin-top:2.5em
	}
		
#maincol .second h1 {border:none; border-top:2px solid #CFE0F5; padding-top:3px}
#maincol .second a.nxt, #maincol .second a.bck, #maincol .second a.toc {
		border:1px solid #0081d7 !important;
		border-top:none !important
	}

#license {
	background:#edf7ff;
	border:1px solid #80B8E1;
	border-radius:.5em;
	padding: 0em 0.5em;
	font-size:1.2em;
	margin-top: 1.5em !important;
	padding-right: 2em;
	}
		
#adress {
	background:#edf7ff;
	border:1px solid #80B8E1;
	border-radius:.5em;
	padding: 0em 0.5em;
	font-size:1.2em;
	margin-bottom: 2em
	}
.enterprise {
	overflow:hidden;
	border: 1px solid #C2DAE7;
	padding: 20px 15px 15px 20px;
	border-radius: .4em;
	margin-bottom: 1em
	} 
.enterprise strong {font-size: 1.1em; margin-top:1em} 
.enterprise p {clear:left
	} 
.enterprise h2 {
	float:left;
	padding-top: 0; 
	margin: 0 15px 1em 0
	} 
.enterprise .btn {margin: 1em 0 0}


/* ------------------------------------ F O O T E R ------------------------- */

#footer {
		position:absolute; 
		bottom:0; 
		width:100%
	} 
#ftr_top {
	background:#c9ced4 url('../images/footer_b.png') repeat-x;
	overflow:hidden; padding-left:0; padding-right:0; padding-top:15px; padding-bottom:15px
	}
#ftr_top h2 {
	background:#FFF;
	border-top:1px solid #a4c4d2;
	border-left:1px solid #c3d8e1;
	border-radius:.3em;
	font-size:1em;
	padding:0 8px;
	margin:0 -3px .3em -6px;
	line-height:1.7em;
	text-decoration:none;
	color:#004E82
	}
#ftr_top a {
	display:block;
	text-decoration:none;
	padding:1px 5px;
	color:#003A82;
	margin-bottom:0.1em
	}
#footer a:hover, #footer a:focus, #footer a:active {
	background-color: #0045a4;	
	color:#FFF !important
	}
#ftr_top #wrap {
	float:left;
	position:relative;
	left:50%
	}
#links {
	position:relative;
	right:50%
	}
#links > div {
	display:table-cell;
	background: url('../images/footer_s.gif') repeat-y right;
	padding-left:25px; padding-right:25px; padding-top:0; padding-bottom:0 
	}
#links > div:last-child {background: none}

#ftr_bott a {
	color:#97d6fb; 
	text-decoration:none; 
	padding:.7em
	}
#ftr_bott a:hover {
	text-decoration:underline; 
	background:none
	}
#ftr_bott {
	height:2.8em;
	background:#013885 url('../images/footer_c.png') repeat-x center;
	color:#FFF
	}
#ftr_bott div div {float:right; line-height:2.8em}
#ftr_bott ul {float:left}
#ftr_bott li {
	float:left; 
	background: url('../images/footer_i.gif') no-repeat right; 
	}
#footer_bott span {margin-left:5px}

/*------------------------*/

#features .boxe p, #features .boxe a {zoom:1;}

* html #features .boxe p, * html #features .boxe a {margin-top: 0 !important}
* html #features .boxe p { margin-top: -22px !important}


/* Screenshots -------------------------------------------------------------- */

.overlayimg {
  visibility: hidden;
  display: none;
}

.overlayimg:target {
  visibility: visible;
  display: block;
  z-index: 100;
}

.overlayimg .cancel {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: default;
  z-index: 900;
}

.zoomImg {
    cursor: pointer;
    transition: 0.3s;
    vertical-align: top;
}

.zoomImg:hover { opacity: 0.7; }

.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: -40px;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
}

/* Modal Content (Image) */
#modalImg.modal-content {
    animation-name: zoom;
    animation-duration: 0.6s;
    margin: auto;
    display: block;
    max-width: 100%;
    max-height: 700px;
}

@keyframes zoom {
    from { transform:scale(0) }
    to { transform:scale(1) }
}

/* The Close Button */
.closeimg {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.closeimg:hover,
.closeimg:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
    .modal-content {
        width: 100%;
    }
}

/* Shop -------------------------------------------------------------- */

.FormTable {
  border-collapse: collapse;
  width: 100%;
}
.FormTable h2 {
  border-bottom: 1px solid #488ADB;
  text-align: initial;
}
table.FormTable > tbody > tr > td {
  line-height: 1.5em;
  text-align: left;
  padding: .2em .5em;
}
table.FormTable > tbody > tr > td:first-child {
  text-align: right;
  width: 20%;
}
table.FormTable > tbody > tr > td:first-child > label {
  margin: 0.5em 0 0 0;
}

.FormTable .txt {
  width: 100%;
}

.FlatTable {
  width: 100%;
}
.Initial { width: initial; }
.FlatTable td {
  padding: 4px;
  line-height: 1.5em;
}
.FlatTable a, .FlatTable a:visited {
  color: navy;
  text-decoration: none;
}
.FlatTable a:hover, .FlatTable a:active {
  color: red;
}
.FlatTable .emptyhint {
	color: #444;
	font-style: italic;
	text-align: center;
}
.FlatTable.AutoComplete {
  border: 1px solid #93BEE2;
}
.truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100px;
}
.truncate200 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 200px;
}
.truncate300 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    max-width: 300px;
}
.clRowHeader {
  background: #276FC5;
  border-top: 1pt solid #276FC5;
  border-left: 1pt solid #276FC5;
  border-right: 1pt solid #276FC5;
  font-weight: bold;
  color: white;
}
.clRowHeader td {
  font-weight: bold;
}
.clRowHeader a {
  color: navy;
  text-decoration: none;
}
.clRowHeader a:visited {
  color: navy;
  text-decoration: none;
}
.clRowHeader a:hover {
  color: red;
}
.clRowHeader a:active {
  color: red;
}
.clRowDark {
  background-color: #FFF;
  border-top: 1pt solid #FFF;
  border-left: 1pt solid #FFF;
  border-right: 1pt solid #FFF;
  border-bottom: 1pt solid #D5E1ED;
}
.clRowDark:last-child {
  border-bottom: 1pt solid #FFF;
}
.clRowLight {
  background-color: #FFF;
  border-top: 1pt solid #FFF;
  border-left: 1pt solid #FFF;
  border-right: 1pt solid #FFF;
  border-bottom: 1pt solid #D5E1ED;
}
.clRowLight:last-child {
  border-bottom: 1pt solid #FFF;
}
.clRowDark:hover {
  background-color: #EFF7FF;
}
.clRowDark:hover > td {
  border-top: 1pt solid #93BEE2;
  border-bottom: 1pt solid #93BEE2;
}
.clRowDark:hover > td:first-child {
  border-left: 1pt solid #93BEE2;
}
.clRowDark:hover > td:last-child {
  border-right: 1pt solid #93BEE2;
}
.clRowLight:hover {
  background-color: #EFF7FF;
}
.clRowLight:hover > td {
  border-top: 1pt solid #93BEE2;
  border-bottom: 1pt solid #93BEE2;
}
.clRowLight:hover > td:first-child {
  border-left: 1pt solid #93BEE2;
}
.clRowLight:hover > td:last-child {
  border-right: 1pt solid #93BEE2;
}


@media ( max-width: 35em ) {
  .FormTable > tbody > tr > td {
    text-align: left;
    display: block;
    margin: -0.4em;
    padding: 0;
  }
  .FormTable td.empty {
    font-size: 0.5em;
  }
  table.FormTable > tbody > tr > td:first-child {
    text-align: left;
    margin-top: 0.5em;
    width: 100%;
  }
  table.FormTable > tbody > tr:first-child > td:first-child {
    margin-top: 0em;
  }
  table.FormTable > tbody > tr:last-child > td:last-child {
    margin-bottom: 0.5em;
  }
  .FormTable select {
    max-width: fit-content;
    width: 100%;
  }
  .FlowTable > tbody > tr > td {
    display: block;
    margin-top: 0.5em;
  }
  .FlowTable td.empty {
    font-size: 0.1em;
  }
  table.FlowTable > tbody > tr > td:first-child {
    margin-top: 0em;
  }
}

/*------------------------*/

div.editable { border: solid 1px Transparent; }
div.editable:hover { border-color: navy; }

/*------------------------*/

#SurveyForm label {
  float: none;
}

label.RadioButton {
	font-size: 18px;
	position: relative;
	display: inline;
	margin-bottom: 15px;
	padding-left: 30px;
	cursor: pointer;
}
input.Radio {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.RadioDecoration {
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	background: #e6e6e6;
	border-radius: 50%;
}
.RadioDecoration:after {
	position: absolute;
	display: none;
	content: '';
}

.RadioButton input:checked ~ .RadioDecoration {
	background: #488ADB;
}

.RadioButton input:checked ~ .RadioDecoration:after {
	display: block;
}

.RadioDecoration:after {
	top: 7px;
	left: 7px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
}


label.CheckBox  {
	font-size: 18px;
	position: relative;
	display: inline;
	margin-bottom: 15px;
	padding-left: 30px;
	cursor: pointer;
}
input.CheckBox {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.CheckBoxDecoration {
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	background: #e6e6e6;
}
.CheckBoxDecoration:after {
	position: absolute;
	display: none;
	content: '';
}
label.CheckBox input:checked ~ .CheckBoxDecoration {
	background: #488ADB;
}
label.CheckBox input:checked ~ .CheckBoxDecoration:after {
	display: block;
}
.CheckBoxDecoration:after {
	top: 4px;
	left: 8px;
	width: 3px;
	height: 8px;
	transform: rotate(45deg);
	border: solid #fff;
	border-width: 0 2px 2px 0;
}

.SurveySection {
  border-bottom: 1px solid #488ADB;
  color:#0E54A0;
  font-size: 1.3em;
  padding: 1em 0 0.3em;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
}

/*---------------------------------------------------*/

.popover {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  top: 0;
  width: 500px;

  box-sizing: border-box;
  max-width: 100%;
  margin: 0 auto;
  box-shadow: 0 0 20px 3px rgba(0,0,0,.22);
  background: #fff!important;
  padding: 1.286em;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.popover {
	animation: popover 0.7s ease forwards;
}
@keyframes popover {
  from { top: -200px; }
  to { top: 0;}
}
.popover-body {
  padding: 0 .2em 0 4em;
  line-height: 1.5em;
  color: #555;
}
.popover button {
  padding: .7em 2em;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: .25rem;
}
.popover button.primary {
	background: #1165f1;
	color: #eee;
	font-weight: bold;
}
.popover button.primary:hover {
	border: 1px solid #1165f1;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 6px 0 rgba(0,0,0,.12);
	color: #fff;
}
.popover button.secondary {
	box-shadow: none;
	background: #eee;
	color: #222;
	border: 1px solid #c8c8c8;
	margin-right: 1em;
}
.popover button.secondary:hover {
	border: 1px solid #1165f1;
	color: #1165f1;
}
