*{margin:0; padding:0;}

html{
    height:100%;
}

body{
    font-family: Calibri, Arial;
    color:#333;
    font-size:1em;
}

body, html {
    position:relative;
    margin: 0;
    text-align: center;
    background: #F5F5F5;
    width: 100%;
    /*height: 100%;*/
    min-width: 640px;
    min-height:100%;
}
body{font-size:62.6%;}

img{
    border:0;
    vertical-align:bottom;
}

a{
    color:#000000;
    font-size:1em;
    text-decoration: none;
}
a:focus{
    /*outline:dotted;*/
}
a:active {
    /*outline:dotted;*/
}

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



/*Titres spéciaux*/
/**************************/
h1 { font-size:1.8em; }
h2 { font-size:1.6em; }
h3 { font-size:1.4em; }
h4 { font-size:1.3em; }
h5 { font-size:1.2em; }



p {
    color:#4E5862;
    font-family:"open_sansregular", Arial;
    font-size: 1.3em;
    margin: 0;
    padding: 0;
}


/**************************/
/*LOADING*/
/**************************/

#loading{
    /*background:#cccccc;*/
    background-color:rgba(204, 204, 204, 0.7);
    width:100%;
    height:100%;

    position:absolute;
    top:0;
    left:0;
    z-index:15;
}

#loading img{
    position:fixed;
    width:64px;
    height;64px;
    top:50%;
    margin-top:-32px;
    left:50%;
    margin-left:-32px;
}


/**************************/
/*INTRODUCTION*/
/**************************/

#simulateur_introduction{
	background:url('../img/bg_intro.png') no-repeat right center;
	padding:100px 0;
}

	#intro_infos{
		background:#1fbdc3;
		width:420px;
		padding:50px 40px;

		-moz-border-radius: 8px;
	    -webkit-border-radius: 8px;
	    border-radius: 8px;
	}

		#intro_infos #intro_h1{
			color:#ffffff;
			font-size:3.5em;
			line-height:0.9em;
			font-weight:normal;
			text-transform:uppercase;
		}

		#intro_infos #intro_desc{
			border-top:#ffffff solid 1px;
			border-bottom:#ffffff solid 1px;
			padding:10px 0 15px 0;
			margin:15px 0 20px 0;
			color:#ffffff;
			font-size:2.1em;
			line-height:1.2em;
		}

		#intro_infos #intro_desc span{
			color:#000000;
			display:block;
		}

		#intro_infos #intro_boutons{
			padding:10px 0;
		}

		#intro_infos #intro_boutons .btn_intro{
			background:#f1f2f3 url('../img/puce_link_blue_big.png') no-repeat 8px 8px;
			display:block;
			color:#222e3b;
			font-size:2.5em;
			padding:8px 8px 8px 48px;
			margin-bottom:10px;
			width:200px;
			cursor:pointer;

			-moz-border-radius: 4px;
		    -webkit-border-radius: 4px;
		    border-radius: 4px;

		    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
			-moz-box-shadow:    0px 0px 10px 0px rgba(0, 0, 0, 0.1);
			box-shadow:         0px 0px 10px 0px rgba(0, 0, 0, 0.1);
		}


		#intro_infos #intro_credits{
			color:#ffffff;
			font-size:1.2em;
		}



/**************************/
/*SLIDER*/
/**************************/

.slider_wrapper{
    position:relative;
}

.slider_bar{
    width: 295px;
    margin: 0 5px;
    height: 20px;
    border: none;
    background: #222E3B;

     /*display: block;
    float: left;*/
    display: inline-block;
    *display: inline;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}


.slider_bar .ui-widget-header{
    background:#1FBDC3;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}


.slider_bar .ui-slider-handle{
    font-family: Calibri, Arial;
    background: #1FBDC3;
    color: #222E3B;
    font-size: 1.8em;
    font-weight:bold;
    border:none;
    padding:2px 5px;
    text-align:center;
    width:75px;
    height:auto;
    /*top: 30px;*/
    top: 33px;
    margin-left:-40px;


    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;

    -moz-user-select: -moz-none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -o-user-select: none;
    user-select: none;
}


.slider_bar .ui-slider-handle .sliderPointer{
    background:url("../img/triangle_bleu.png") no-repeat 0 0;
    width:13px;
    height:6px;
    position:absolute;
    top:-6px;
    left:50%;
    margin-left:-7px;
}


.sbutton{
    width: 20px;
    height: 20px;
    background: #222E3B;
    /*display: block;
    float: left;*/
    display: inline-block;
    *display: inline;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
    position:relative;
    z-index:5;

    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

.sbutton_more{
    background: #222E3B url("../img/picto_plus.png") no-repeat center center;
}
.sbutton_less{
    background: #222E3B url("../img/picto_moins.png") no-repeat center center;
}


.sdefault_values{
    font-size:1.4em;
    font-weight:bold;
    width:290px;
    position:absolute;
    top:20px;
    left:27px;
}

.sdefault_min{
    text-align:left;
    position:absolute;
    top:0;
    left:0;
}
.sdefault_max{
    text-align:right;
    position:absolute;
    top:0;
    right:0;
}


/*Vertical*/
.slider_vertical.slider_wrapper{
    width:20px;
}

.slider_vertical .slider_bar{
    width: 20px;
    /*height: 295px;*/
    height: 203px;
    float:none;
    margin:5px 0;
}

.slider_vertical .slider_bar .ui-slider-handle{
    top:auto;
    bottom:0;
    width:50px;
    margin-left:-16px;
}

.slider_vertical .slider_bar .ui-slider-handle .sliderPointer{
    display:none;
}

.slider_vertical .sbutton{
    float: none;

}

.slider_vertical .sdefault_values{
    height:100%;
    top:0;
    left:-35px;
}

.slider_vertical .sdefault_min{
    text-align:left;
    bottom:0;
    left:0;
    top:auto;
}
.slider_vertical .sdefault_max{
    text-align:left;
    top:0;
    left:0;
    right:auto;
}



/**************************/
/*HEADER*/
/**************************/

header h1{
    color: #222E3B;
    font-family:"open_sanssemibold", Arial;
    font-size: 3.6em;
    padding: 0;
    margin: 0;
    font-weight: normal;
}


header{
    position: relative;
    overflow: hidden;
    padding: 15px 0px 50px 0px;
}

#header_infos{
    margin-top:25px;
}



/**************************/
/*ONGLETS*/
/**************************/

#contenu.ui-widget{
    border:none;
    font-family:inherit;
    font-size:inherit;
    background:inherit;
    padding:0;

    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}

#tabs_population{
    background:#ffffff;
    padding:30px 0;
    position:relative;
}

#tabs_population ul{
    background:#ffffff;
    border:none;
    padding:0;
    max-width:985px;
    margin:0 auto;

    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}

#tabs_population ul li{
    height: 60px;
    background: #222E3B;
    color:#FFFFFF;
    font-size: 1.6em;
    font-weight: bold;
    text-transform: uppercase;
    text-align:center;
    width:27%;
    display:inline-block;
    float:none;
    border:none;
    padding:0;
    margin:0 20px;
    white-space:normal;

    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}

/*#population_tabs ul li.ui-state-active{
    position:relative;
}*/

#tabs_population ul li a{
    height:60px;
    display:block;
    line-height:60px;
    float:none;
    padding:0;
    width:100%;
    color:#ffffff;
}

#tabs_population ul li a span{
    line-height:1.2em;
    display:inline-block;
    vertical-align:middle;
    padding:0 10px;
}

#tabs_cursor{
    background:url("../img/tabs_cursor.png") no-repeat center bottom;
    width:59px;
    height:26px;

    position:absolute;
    bottom:0;
    left:0;
}


/**************************/
/*CUSTOM SELECT*/
/**************************/

span.customSelect {
    font-size:1.8em;
    /*text-transform:uppercase;*/
    background:#222e3b url("../img/picto_plus_b2.png") no-repeat right center ;
    border-right:3px solid transparent;
    color:#ffffff;
    padding:4px 40px 5px 10px;
    width:180px;
    height:22px;
    overflow:hidden;

    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}

span.customSelect .customSelectInner{
    width:100% !important;
}

.customSelect.customSelectHover {
    background:#1fbdc3 url("../img/picto_plus_b1.png") no-repeat right center ;
}

.customSelect.customSelectFocus {
    background:#1fbdc3 url("../img/picto_plus_b1.png") no-repeat right center ;
}

.customSelect.customSelectOpen {

}

.customSelect.customSelectChanged {

}

form select{
    height:32px !important;
}
form option{
    /*text-transform:lowercase;*/
    font-size:0.8em;
    padding:2px 5px;
}




/**************************/
/*CONTENU*/
/**************************/

.largeur {
    /*max-width: 985px;
    min-width: 640px;*/
    width: 985px;
    margin-left: auto;
    margin-right: auto;
    /*position: relative;*/
    text-align: left;
}


#contenu{
    position:relative;
}
#contenu section h2{
    font-size:3em;
    text-transform:uppercase;
}

#contenu section.categorie{
    padding:0;
}

h3.titre_content{
    margin-top:15px;
    margin-bottom:25px;
    text-align: center;
    color: #222E3B;
    font-size: 2.8em;
    font-weight: bold;
}


.categorie_choix{
    background: #EDEEEF;
    padding:15px 45px;

    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
}

.categorie_choix .choix_age{
    width:350px;
    float:left;
}


.categorie_infos{
    padding:25px 45px;
    position:relative;
}


.titre_infos{
    font-size: 2.0em;
    font-weight:bold;
    color:#222E3B;
    text-align:center;
    margin-bottom:15px;
}

.infos_texte{
    font-size: 1.6em;
    font-weight:bold;
    color:#222E3B;
}

.infos_texte_medium{
    font-size: 2.0em;
    font-weight:bold;
    color:#222E3B;
}

.infos_small{
    font-size: 3em;
    font-weight:bold;
    color:#E5382F;
    margin-bottom:15px;
}

.infos_medium{
    font-size: 4em;
    font-weight:bold;
    color:#E5382F;
}

.infos_big{
    font-size: 5em;
    line-height:1.2em;
    font-weight:bold;
    color:#E5382F;
}

.blue .infos_small,
.blue .infos_medium,
.blue .infos_big{
    color:#222E3B;
}





/******DEB-A sup plus tard*******/
.titleRubrique{
    font-family:Calibri, Arial;
    font-size: 2.0em;
    font-weight:bold;
    color:#222E3B;
    text-align:center;
    margin-bottom:22px;
}

.titleSelect{
    font-family:Calibri, Arial;
    font-size: 2.0em;
    color:#222E3B;
    text-align:left;
}
/******FIN-A sup plus tard*******/



/**************************/
/*MAP BOUTONS*/
/**************************/

.choix_continent{
    width:515px;
    float:right;
}

.choix_continent .liste_continents{
    text-align:right;
}

.choix_continent a.map_button{
    background: #FFFFFF;
    color: #222E3B;
    font-size:1.6em;
    text-transform:uppercase;
    padding:10px;
    margin:0 10px 10px 0;
    display: inline-block;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}



/**************************/
/*MAP WORLD*/
/**************************/

.carte_monde{
    width:475px;
    float:right;
    position:relative;
}

.monde_zone_titre{
    color:#E5382F;
    font-size:2em;
    font-weight:bold;
    text-align:right;
    text-transform:uppercase;
}

.monde_zone_carte{
    margin-top:15px;
}


.monde_zone_mondepicto{
    position:absolute;
    bottom:5px;
    left:0;
}

.monde_zone_mondepicto a{
    font-size:1.8em;
    font-style:italic;
    display:block;
}
.monde_zone_mondepicto img{
    vertical-align:-10px;
}



/**************************/
/*FOOTER*/
/**************************/

footer{
    border-top:#DFDFDF solid 1px;
    padding:5px 0 20px 0;
    position:relative;
    overflow:hidden;
}

#credit{
    float:left;
    text-align:left;
}

#source{
    float:right;
    text-align:right;
}



/**************************/
/*POPULATION*/
/**************************/

#infos_population{
    width:320px;
    float:left;
}

#population_naissance_age{
    margin-bottom:10px;
}

#population_jauge_wrapper{
    width:220px;
    float:right;
    margin:16px 0 0 0;
}

.jauge_wrapper{
    height:20px;
    border:#222E3B solid 1px;
    background:#EDEEEF;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

.jauge{
    width:50px;
    height:20px;
    background:#E5382F;

    -moz-border-radius: 4px 0 0 4px;
    -webkit-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px;
}

.blue .jauge{
    background:#222E3B;
}



/**************************/
/*GENERATION*/
/**************************/

#infos_generation{
    width:290px;
    float:left;
}

#generation_evolution{
    margin-top:25px;
}

#generation_alive_chiffre,
#generation_dead_chiffre{
    margin-right:5px;
}






/**************************/
/*PLACE DANS LA POPULATION*/
/**************************/

.choix_select .titre_infos{
    margin-bottom:15px;
}

#form_choix_zone{
    width:490px;
    margin:0 auto;
}

#form_choix_zone label{
    display:block;
    font-size: 2em;
    font-weight:bold;
    margin-bottom:3px;
}

#form_choix_zone #choix_regions{
    margin-bottom:5px;
    margin-right:20px;
    float:left;
}
#form_choix_zone #choix_pays{
    margin-bottom:5px;
    float:left;
}

.place_zone_titre{
    color:#E5382F;
    font-size:2em;
    font-weight:bold;
    text-transform:uppercase;
}

#infos_place_evolution{
    float:left;
    width:300px;
    /*margin-top:50px;*/
}

    #infos_place_evolution #place_evolution_older{
        margin:20px 0 20px 0;
    }

    #infos_place_evolution span.infos_texte_medium{
        margin-right:10px;
    }


#infos_place_graphique{
    float:right;
    width:590px;
    position:relative;
}


#place_graphique{
    position:absolute;
    top:30px;
    left:30px;
    /*width:465px;*/
    width:400px;
    padding:30px 0;
}

#graphique_legende{
    position:absolute;
    top:0;
    left:0;
    font-size:1.4em;
    font-weight:bold;
    color:#222E3B;
    width:100%;
    height:100%;
}


#graphique_legende #legende_hommes{
    position:absolute;
    top:0;
    left:95px;
}
#graphique_legende #legende_femmes{
    position:absolute;
    top:0;
    right:100px;
}


#legende_abscisse{
    border-top:#8c9298 solid 2px;
    position:absolute;
    bottom:0;
    left:0;
    height:20px;
    width:100%;
}

#legende_abscisse span{
    background:url('../img/picto_ordonnee.png') no-repeat;
    position:absolute;
    top:0;
    padding-top:5px;
}

#legende_abscisse .val_homme_max{background-position:left top; left:0;}
#legende_abscisse .val_homme_medium{background-position:center top;	left:100px;}
#legende_abscisse .val_femme_max{background-position:right top;	right:0;}
#legende_abscisse .val_femme_medium{background-position:center top;	right:100px;}


#legende_ordonnee{
    position:absolute;
    top:-11px;
    left:50%;
    margin-left:-90px;
    /*height:300px;*/
    height:200px;
    width:180px;
    text-align:center;
}

#legende_ordonnee .val_max{
    display:block;
    margin-bottom:5px;
}
#legende_ordonnee .val_min{
    display:block;
    width:16px;
    margin:0 auto;
    background:#F5F5F5;
    line-height:1em;
    margin-top:4px;
}

#legende_ordonnee .axeY{
    display:block;
    background:#8c9298;
    width:2px;
    height:100%;
    margin:0 auto;
}

.legende_abscisse{
    width:115px;
    margin:0 auto;
    display:block;
}





#choix_annee_place{
    float:right;
    text-align:right;
    /*margin-top:10px;*/
}

    #choix_annee_place .slider_wrapper{
        float:right;
    }

    #choix_annee_place .sdefault_values{
        width:auto;
    }




/**************************/
/*PYRAMIDE CSS*/
/**************************/


table.pyramid {
    border-collapse: collapse;
    border-spacing : 0;
    font-size: 1em;
    color: white;
    border: 0;
}

.pyramid tr {
    padding: 0;
}
.pyramid th {
    padding: 0;
    width:2%;
    color:#000;
    font-size:6px;
    display:none;
}

.pyramid td {
    position: relative;
    padding: 0;
    width:49%;
    text-align: left;
    /*height:3px;*/
    height:2px;
    border-left:16px solid transparent;
}

.pyramid tr td:first-child {
    text-align: right;
    border-left:0;
}


.pyramid tr td span {
    float:left;
}
.pyramid tr td:first-child span {
    float:right;
}

.pyramid span {
    /*position: absolute;
    right:0;
    display: inline-block;*/
    background: #222e3b;
    height: 100%;

}

.limiteAge ~ tr span, .limiteAge  span {
    background :rgb(229, 56, 47);
}



/*.limiteAge td{
    position:relative;
}*/

.cf {
    display: none;
}
.disabled .cf {
    display: none!important;
}
#limiteAgeChiffre,
.limiteAge span.cf{
    display: inline;
    background:#F5F5F5;
    border:#878e95 solid 2px;
    color:#222E3B;
    font-size: 2em;
    font-weight:bold;
    text-align:center;
    height: 25px;
    margin:-15px 0 0 15px;
    padding:0px 5px;
    position: absolute;
    z-index:5;
    width: 70px;

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#limiteAgeChiffre:before,
.limiteAge span.cf:before{
    border-color: rgba(0, 0, 0, 0) #878e95;
    border-width: 7px 7px 7px 0;
    border-style: solid;
    content: "";
    display: block;
    position: absolute;
    width: 0;
    left: -8px;
    top: 6px;
}

#limiteAgeChiffre:after,
.limiteAge span.cf:after{
    border-color: rgba(0, 0, 0, 0) #F5F5F5;
    border-width: 7px 7px 7px 0;
    border-style: solid;
    content: "";
    display: block;
    position: absolute;
    width: 0;
    left: -5px;
    top: 6px;
}




/**************************/
/*CLASSES GENERALES*/
/**************************/

.red{
    color:#E5382F;
}

.dehors {
    position: absolute;
    left: -50000000;
    top: -5000000;
}

.cacher{
    display:block;
    margin-top:-5000px;
    position:absolute !important;
    margin-left:-50000px;
    width:1px;
    overflow:hidden;
    height:1px;
}

.clearer{
    display:block;
    clear:both;
    font-size:0px;
    line-height:0px;

}

.clearfix:after{
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix{
    display: inline-block;
}

html[xmlns] .clearfix{
    display: block;
}

* html .clearfix{
    height: 1%;
}


/**************************/
/*CLASSES ANIMATIONS*/
/**************************/

/* Grow version 1*/
/*.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}*/


/* Grow version 2*/
.hvr-grow {
    -webkit-transition:all 0.3s ease-out;
    -moz-transition:all 0.3s ease-out;
    -ms-transition:all 0.3s ease-out;
    -o-transition:all 0.3s ease-out;
    transition:all 0.3s ease-out;
}

.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active{
    -webkit-transform:scale(1.1);
    -moz-transform:scale(1.1);
    -ms-transform:scale(1.1);
    -o-transform:scale(1.1);
    transform:scale(1.1);
}



/* Shadow Radial */
.hvr-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}
.hvr-shadow-radial:before, .hvr-shadow-radial:after {
  pointer-events: none;
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  height: 5px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.hvr-shadow-radial:before {
  bottom: 100%;
  background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hvr-shadow-radial:after {
  top: 100%;
  background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hvr-shadow-radial:hover:before, .hvr-shadow-radial:focus:before, .hvr-shadow-radial:active:before, .hvr-shadow-radial:hover:after, .hvr-shadow-radial:focus:after, .hvr-shadow-radial:active:after {
  opacity: 1;
}
